W3docs

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 3

Diese 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... done

Werte 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:

java— editable, runs on the server

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 \n in printf)
  • %% — 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

  • print verwenden, wenn println gemeint war. Die Ausgabe landet ohne Trennzeichen in einer einzigen Zeile.
  • + und , in printf verwechseln. Formatstring-Platzhalter werden durch zusätzliche Argumente gefüllt, nicht durch Verkettung. Verwenden Sie printf("%s scored %d", name, score), nicht printf("%s scored", name + score).
  • %n in printf vergessen. 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.

Übungen

Übung
Welche Methode schreibt ihr Argument OHNE abschließenden Zeilenumbruch?
Welche Methode schreibt ihr Argument OHNE abschließenden Zeilenumbruch?
Was this page helpful?