jario_
Zur Übersicht

Kapitel 3

Schleifen

Eine Schleife wiederholt einen Block, solange eine Bedingung gilt. So zählst du bis 1000, ohne 1000 Zeilen zu schreiben, oder liest so lange Eingaben, bis eine bestimmte kommt.

Die for-Schleife

Die for-Schleife nimmst du, wenn du vorher weißt, wie oft etwas passieren soll. In der Klammer stehen drei Teile, getrennt durch Semikolons:

for (int i = 1; i <= 5; i++) { ... }
  1. Start: int i = 1 legt den Zähler an.
  2. Bedingung: Solange i <= 5 wahr ist, läuft der Block.
  3. Schritt: i++ erhöht i nach jedem Durchlauf um 1.

Oft sammelt eine Variable außerhalb der Schleife ein Ergebnis, etwa eine Summe. sum += i ist kurz für sum = sum + i.

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

while und do-while

while prüft die Bedingung vor jedem Durchlauf. Das passt, wenn du nicht weißt, wie oft die Schleife läuft, sondern nur, wann sie aufhören soll. Ist die Bedingung schon am Anfang falsch, läuft der Block kein einziges Mal.

do { ... } while (...); prüft erst nach dem Durchlauf. Der Block läuft also mindestens einmal. Typisch ist eine Eingabe, die so lange wiederholt wird, bis sie gültig ist.

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

Die Eingabe enthält zwei ungültige Zahlen (15 und 0), deshalb fragt das Programm dreimal.

Geschachtelte Schleifen, break und continue

Eine Schleife kann in einer anderen stehen. Für jeden Durchlauf der äußeren läuft die innere komplett durch, wie Zeilen und Spalten einer Tabelle. print schreibt ohne Zeilenumbruch, ein leeres println() beendet die Zeile.

Zwei Befehle ändern den Ablauf:

  • break beendet die Schleife sofort.
  • continue überspringt den Rest des Blocks und macht mit dem nächsten Durchlauf weiter.
Du kannst den Code ändern und neu ausführen.

Typische Fehler

  • Endlosschleife

    Ändert sich in der Schleife nichts an der Bedingung, hört sie nie auf:

    int i = 0;
    while (i < 5) {
        System.out.println(i);
        // i++ fehlt
    }

    In Jario bricht das Programm dann nach einem Zeitlimit ab.

  • Einer zu viel oder zu wenig

    i < 5 läuft für 0 bis 4, i <= 5 für 0 bis 5. Prüfe am kleinsten Fall, ob erster und letzter Durchlauf stimmen.

  • Semikolon hinter for oder while

    for (int i = 0; i < 5; i++); hat einen leeren Schleifenrumpf. Der Block danach läuft nur einmal. Bei while (...); hängt das Programm sogar fest.

  • Zähler in der Schleife anlegen

    Steht int sum = 0; in der Schleife, beginnt die Summe bei jedem Durchlauf wieder bei 0. Alles, was über alle Durchläufe hinweg zählt, gehört vor die Schleife.