# Unterschied print() und println()



## StephanL (13. Okt 2014)

Hi,

ich habe mal ein ganz simples Problem. Ich sitze gerade an einem ersten, freiwilligen Übungsblatt des Programmierkurses an meiner Uni und stolpere über eine ganz simple Aufgabe. Der Unterschied zwischen print() und println() soll mit eben jenen Befehlen auf dem Bildschirm ausgegeben werden.

Hier ist mein Code und damit meine Erklärung des Unterschieds:



```
public class Uebungsblatt1Aufgabe1b {

    public static void main(String args[]) {
        System.out.print("Diese Ausduck wurde mit System.out.print ausgegeben. Er wird in der Zeile ausgegeben, in der sich der Cursor gerade befindet. ");
        System.out.print("Ab hier schreibe ich in der IDE in einer neuen Zeile, dennoch wird die Ausgabe in der vorherigen Zeile fortgesetzt.");
        System.out.println("Diese Zeile hingegen wurde mit System.out.println ausgegeben. Die Ausgabe erfolgt automatisch in einer neuen Zeile.");
    }
    
}
```

Mein Problem ist jetzt: Das was ich da ausgebe, trifft nicht zu. Der Ausdruck System.out.println wird nicht in einer neuen Zeile ausgegeben. Woran kann das liegen?

Gruß
StephanL


----------



## Machareder (13. Okt 2014)

Das liegt daran, dass system.out.println erst nach der Ausgabe ein Return einfügt.
Es würde folgenderweise funktionieren:

```
public class Uebungsblatt1Aufgabe1b {

    public static void main(String args[]) {
        System.out.print("Diese Ausduck wurde mit System.out.print ausgegeben. Er wird in der Zeile ausgegeben, in der sich der Cursor gerade befindet. ");
        System.out.print("Ab hier schreibe ich in der IDE in einer neuen Zeile, dennoch wird die Ausgabe in der vorherigen Zeile fortgesetzt.");
        System.out.println();
        System.out.println("Diese Zeile hingegen wurde mit System.out.println ausgegeben. Die Ausgabe erfolgt automatisch in einer neuen Zeile.");
    }
    
}
```


----------



## StephanL (13. Okt 2014)

Ahh, so einfach. Vielen Dank!


----------



## nvidia (13. Okt 2014)

Damit du dich schon mal daran gewöhnst. Der erste Schritt wäre in der API-Dokumentation für Java nachzusehen. D.h. hier System (Java Platform SE 8 ), dann sucht man weiter nach println() und wird auf PrintStream (Java Platform SE 8 ) verwiesen. Dort findet sich dann utner "println()" folgender Text "Terminates the current line by writing the line separator string". Und danach denkt man hart unter Verwendung der neuen Informationen darüber nach weshalb das Verhalten so ist.


----------

