Java Ein- und Ausgabe: Scanner, println und printf

Aktualisiert am 22. Oktober 2026

Ein- und Ausgabe in Java ist das Erste, was du brauchst: Ein einfaches Programm liest etwas ein, rechnet damit und gibt ein Ergebnis aus. Mehr braucht es für die ersten Aufgaben nicht.

Der Rahmen ist immer gleich. Dein Code steht zwischen den geschweiften Klammern von main, Java führt ihn Zeile für Zeile von oben nach unten aus. Was public class und static genau bedeuten, erklärt der Artikel über Klassen und Objekte in Java. Bis dahin kannst du den Rahmen einfach stehen lassen.

Ausgabe und Variablen

Mit System.out.println(...) gibst du eine Zeile aus. Eine Variable ist ein benannter Speicherplatz für einen Wert. Beim Anlegen schreibst du den Typ davor:

  • int für ganze Zahlen, z. B. int age = 19;
  • double für Kommazahlen, z. B. double price = 4.99; (mit Punkt, nicht mit Komma)
  • String für Text in doppelten Anführungszeichen, z. B. String name = "Ada"; (mehr dazu unter Strings in Java)

Mit + hängst du Texte und Werte aneinander. Jede Anweisung endet mit einem Semikolon.

public class Main {    public static void main(String[] args) {        String name = "Ada";        int age = 19;        System.out.println("Hello, " + name + "!");        System.out.println(name + " is " + age + " years old.");        System.out.println("Next year: " + (age + 1));    }}

Eingaben lesen und rechnen

Ein Scanner liest, was jemand in die Konsole tippt. nextInt() holt die nächste ganze Zahl, nextDouble() die nächste Kommazahl und nextLine() eine ganze Zeile Text. Leerzeichen und Zeilenumbrüche zwischen Zahlen sind egal.

Java rechnet mit +, -, *, / und %. Zwei Dinge überraschen oft:

  • Teilst du zwei int-Werte, fallen die Nachkommastellen weg: 17 / 5 ergibt 3.
  • % (Modulo) liefert den Rest der Division: 17 % 5 ergibt 2.

Sobald eine Kommazahl beteiligt ist, rechnet Java mit Nachkommastellen, zum Beispiel / 2.0 statt / 2.

import java.util.Scanner;
public class Main {    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        int a = scanner.nextInt();        int b = scanner.nextInt();        System.out.println(a + " / " + b + " = " + a / b);        System.out.println(a + " % " + b + " = " + a % b);        System.out.println("Average: " + (a + b) / 2.0);    }}
Eingabe
17 5

Unter „Eingabe“ steht, was das Programm liest.

Schön formatieren mit printf

Kommazahlen haben oft viele Nachkommastellen. Mit System.out.printf legst du fest, wie ein Wert aussieht. Im Text stehen Platzhalter, die der Reihe nach durch die Werte dahinter ersetzt werden:

  • %.2f: Kommazahl mit genau zwei Nachkommastellen (gerundet)
  • %d: ganze Zahl
  • %s: Text
  • %n: Zeilenumbruch (printf macht von sich aus keinen)
import java.util.Scanner;
public class Main {    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        double price = scanner.nextDouble();        double withTax = price * 1.19;        System.out.println("Without printf: " + withTax);        System.out.printf("With printf: %.2f €%n", withTax);    }}
Eingabe
12.5

Typische Fehler

  • Ganzzahlige Division

    double average = (2 + 3) / 2; ergibt 2.0, nicht 2.5. Die Division passiert mit zwei int-Werten, erst danach wird das Ergebnis in double gespeichert. Abhilfe: durch 2.0 teilen.

  • Plus verbindet Text

    Steht links ein Text, hängt + alles nur noch an:

    System.out.println("Sum: " + 2 + 3);   // Sum: 23System.out.println("Sum: " + (2 + 3)); // Sum: 5

    Rechnungen in der Ausgabe deshalb in Klammern setzen.

  • Tippfehler, die der Compiler meldet

    Java unterscheidet Groß- und Kleinschreibung: system.out.println oder string kennt es nicht. Fehlt ein Semikolon, meldet der Compiler ';' expected. Die Zeilennummer in der Meldung zeigt meist auf die Stelle oder die Zeile davor.

  • Die Ausgabe muss genau passen

    Die Tests vergleichen deine Ausgabe Zeichen für Zeichen. Ein fehlendes Leerzeichen, ein Komma zu viel oder print statt println reichen, damit ein Test fehlschlägt. Vergleiche deine Ausgabe genau mit dem Beispiel der Aufgabe. Sobald das Programm je nach Eingabe etwas anderes ausgeben soll, brauchst du Bedingungen in Java.

Aufgaben zu diesem Thema

Übe das Gelernte direkt im Browser. Tests prüfen deine Lösung sofort.

Verwandte Artikel