Java-Ausgabe: print, println und printf
Text und Werte mit System.out.print, println und printf auf der Konsole ausgeben und den Unterschied zwischen ihnen verstehen.
Der Standardweg zur Ausgabe in einem Java-Programm ist System.out, der Standardausgabe-Stream, der jedem Programm zur Verfügung steht. Er stellt drei Methoden bereit, die Sie ständig verwenden werden: print, println und printf. Sie unterscheiden sich nur darin, wie sie Zeilenumbrüche und Formatierungen behandeln.
System.out.println
println („print line") schreibt sein Argument gefolgt von einem Zeilenumbruch. Jeder Aufruf wechselt zur nächsten Zeile:
System.out.println("Line 1");
System.out.println("Line 2");
System.out.println("Line 3");Ausgabe:
Line 1
Line 2
Line 3Diese Methode werden Sie am häufigsten verwenden.
System.out.print
print verhält sich wie println, jedoch ohne den abschließenden Zeilenumbruch. Nützlich, wenn Sie mehrere Werte in einer Zeile ausgeben möchten:
System.out.print("Loading");
System.out.print(".");
System.out.print(".");
System.out.print(".");
System.out.println(" done");Ausgabe:
Loading... doneWerte ausgeben, nicht nur Strings
Sowohl print als auch println akzeptieren jeden Typ, nicht nur Strings. Die Laufzeitumgebung konvertiert Zahlen, boolean-Werte, Zeichen und sogar Objekte automatisch in einen String:
System.out.println(42);
System.out.println(3.14);
System.out.println(true);
System.out.println('A');Bei beliebigen Objekten ruft die Laufzeitumgebung deren toString()-Methode auf (später in OOP behandelt).
String-Verkettung mit +
Der +-Operator verbindet Strings — und wenn Sie eine Zahl oder einen anderen Wert einmischen, konvertiert Java ihn automatisch:
String name = "Ada";
int age = 36;
System.out.println("Hello, " + name + "! You are " + age + " years old.");Ausgabe:
Hello, Ada! You are 36 years old.System.out.printf — formatierte Ausgabe
printf („print formatted") ist das Java-Äquivalent von Cs printf. Sie übergeben einen Formatstring mit Platzhaltern und den einzusetzenden Werten:
Die gebräuchlichen Platzhalter:
%s— string%d— integer%f— Gleitkommazahl%.2f— Gleitkommazahl mit 2 Dezimalstellen%5d— integer in einem 5 Zeichen breiten Feld, links mit Leerzeichen aufgefüllt (rechtsbündig)%-5d— integer in einem 5 Zeichen breiten Feld, rechts mit Leerzeichen aufgefüllt (linksbündig)%n— plattformspezifischer Zeilenumbruch (verwenden Sie dies statt\ninprintf)%%— ein wörtliches%-Zeichen
System.err — Fehler ausgeben
Es gibt einen parallelen Stream für die Fehlerausgabe: System.err. Er unterstützt dieselben Methoden print, println und printf. Konventionell geht reguläre Ausgabe an System.out und Fehlermeldungen an System.err:
System.out.println("Loaded 3 records.");
System.err.println("Warning: could not parse line 5.");In einem Terminal erscheinen beide Streams zusammen, aber Werkzeuge, die die Ausgabe umleiten (> file.txt), können sie trennen.
Häufige Fehler
printverwenden, wennprintlngemeint war. Die Ausgabe landet ohne Trennzeichen in einer einzigen Zeile.+und,inprintfverwechseln. Formatstring-Platzhalter werden durch zusätzliche Argumente gefüllt, nicht durch Verkettung. Verwenden Sieprintf("%s scored %d", name, score), nichtprintf("%s scored", name + score).%ninprintfvergessen. Ohne es fließt die Ausgabe zusammen.
Was kommt als Nächstes
Java-Kommentare zeigt die drei Kommentarsyntaxen, einschließlich Javadoc — dem Standardweg zur Dokumentation von Java-Code.