jario_
Zur Übersicht

Kapitel 1

Ein- und Ausgabe

Jedes Programm in diesem Kapitel macht dasselbe: Es 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, kommt in späteren Kapiteln. 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";

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

Du kannst den Code ändern und neu ausführen.

Probier es aus: Ändere den Namen oder das Alter und führe das Beispiel noch einmal aus.

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 sind neu:

  • 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.

Du kannst den Code ändern und neu ausführen.

Im Feld „Eingabe“ steht, was das Programm liest. Ändere die Zahlen und schau, wie sich Ergebnis und Rest verändern.

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)
Du kannst den Code ändern und neu ausführen.

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: 23
    System.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.