Lädt...

while-Schleifen in Java

Lege die Ganzzahl 1 unter dem Namen k ab, bevor irgendeine Schleife kommt. Schreibe while (k <= 3), und innerhalb der geschweiften Klammern drucke k und speichere danach k + 1 wieder unter k. Der Bildschirm soll drei Zeilen zeigen: 1, dann 2, dann 3. Der Start lebt oberhalb von while. Der Test lebt in den runden Klammern. Der Schritt lebt in den geschweiften Klammern. Diese Aufteilung ist, was diese Seite lehrt.

Start draußen, Test in while, Schritt drinnen

Lege eine kleine Programmdatei namens Pulse.java an. Die public class in der ersten Zeile muss zum Dateinamen passen: public class Pulse. Lass keinen älteren Beat- oder Dial-Klassennamen in dieser Datei; der Compiler erwartet, dass Klassenname und Dateiname übereinstimmen.
Speichere in main zuerst den Zähler:
int k = 1;
Diese Zeile steht nicht im while. Hier startet k nur bei 1. Dann die Schleife:
while (k <= 3) {
System.out.println(k);
k = k + 1;
}
Das Wort while steht kleingeschrieben. In den runden Klammern sitzt nur der Test: k <= 3. Dort gibt es keinen Start und keinen Schritt — anders als in der for-Zeile, die du früher gesehen hast. Die geschweiften Klammern halten sowohl die Schreibzeile als auch den Schritt. System.out.println(k); schreibt die aktuelle Zahl ohne Anführungszeichen um k. Dann speichert k = k + 1; eins mehr unter k, damit der nächste Test irgendwann false werden kann. Speichere die Datei, bevor du kompilierst.

Programm, das 1, dann 2, dann 3 schreibt

Das ist die Version, die du zuerst kompilierst.

k von 1 bis 3

java
public class Pulse {
    public static void main(String[] args) {
        int k = 1;
        while (k <= 3) {
            System.out.println(k);
            k = k + 1;
        }
    }
}

Im Ordner, der Pulse.java hält, tippe javac Pulse.java. Wenn runde Klammern, geschweifte Klammern und Semikolons passen, schreibt javac keine eigene Zeile. Dann tippe java Pulse — nicht java Pulse.java. Lass die Endung .java beim zweiten Befehl weg. Dieselben zwei Befehle funktionieren unter Windows und unter macOS; diese Seite braucht keine andere Shell-Schreibweise für eines der Systeme. Das Programm sollte drei Zeilen schreiben und enden: 1, dann 2, dann 3. Es sollte dich nicht tippen lassen. Wenn das Terminal auf Tastatureingabe wartet, steckt noch ein nextLine-Aufruf aus einer älteren Übung in der Datei. Lösche diesen Aufruf und behalte das int plus das while oben. Für eine falsche Bildschirmzeile brauchst du keine neue JDK-Installation.

Geh einen vollen Lauf der Reihe nach durch. k startet bei 1 vor dem while. Der Test k <= 3 ist true, also läuft der Rumpf: println schreibt 1, dann speichert der Schritt 2. Der Test ist noch true: schreibt 2, speichert 3. Der Test ist noch true: schreibt 3, speichert 4. Jetzt ist k <= 3 false, also endet die Schleife. Der Start lief einmal, oberhalb der Schleife. Der Test lief vor jedem Durchlauf. Der Schritt lief in den geschweiften Klammern nach jedem Druck. Diese drei Aufgaben sind dieselben Ideen wie bei for, aber sie stecken nicht in einer Kopfzeile. Wenn du k = k + 1; weglässt und k für immer bei 1 lässt, bleibt der Test true und dieselbe Zeile kann ohne Stopp drucken — deshalb gehört der Schritt auf dieser Seite in den Rumpf.

Den Test erweitern

Ändere nur den Test, damit die Schleife einen Schritt weiter geht:
int k = 1;
while (k <= 4) {
System.out.println(k);
k = k + 1;
}
Lass Start und Schritt stehen. Jetzt soll der Bildschirm vier Zeilen zeigen: 1, 2, 3 und 4.

k von 1 bis 4

java
public class Pulse {
    public static void main(String[] args) {
        int k = 1;
        while (k <= 4) {
            System.out.println(k);
            k = k + 1;
        }
    }
}

Kompiliere und führe erneut aus: javac Pulse.java, dann java Pulse. Du solltest vier Zeilen sehen. Du hast println oder den Schritt nicht neu geschrieben — nur der Test in while (…) hat sich geändert. Wenn du vier Zeilen gesehen hast, kannst du k <= 3 zurücksetzen, um zur ersten Demo zurückzukehren. Beide Versionen sind gültiges Java und lehren dieselbe while-Form mit einem anderen Stopppunkt.

Lies den Vier-Zeilen-Lauf noch einmal. k startet bei 1. Jeder true-Test druckt das aktuelle k und addiert dann 1. Wenn k zu 5 wird, scheitert der Test und die Schleife stoppt. Die Ziffer 5 erscheint in dieser Demo nicht auf dem Bildschirm, weil der Rumpf nur läuft, solange der Test noch true ist.

📊 k und der Bildschirm der ersten Demo

k vor println Bildschirmzeile
1 1
2 2
3 3

Nutze die Tabelle als Kontrolle nach der ersten Demo, nicht statt eines Laufs. Vor jedem println in dieser Demo hält k die Zahl, die in dieser Zeile erscheint. Nach dem dritten Druck speichert der Schritt 4 und der Test scheitert. Wenn der Bildschirm bei einer Version ohne Schritt nie stoppt, setze k = k + 1; wieder in die geschweiften Klammern — installiere Java nicht neu.

Regeln, die while klar halten

Runde Klammern um den Test sind Pflicht. Wenn du while k <= 3 { … } ohne Klammern schreibst, scheitert javac. Der Rumpf auf dieser Seite sitzt immer in geschweiften Klammern, weil zu jedem Durchlauf zwei Zeilen gehören: das println und der Schritt. Wenn du den Schritt nach der schließenden geschweiften Klammer lässt, läuft er einmal nach dem Ende der Schleife — und innerhalb der Schleife ändert sich k nie, also kann die Schleife ewig laufen. Behalte den Schritt in beiden Demos in den geschweiften Klammern.

while ist weder for noch switch. for packt Start, Test und Schritt in eine Kopfzeile. while hält den Test allein in seinem Kopf und verlangt, dass du Start und Schritt selbst setzt. switch wählt einmal unter case-Labels. Lass keine Beat-for-Schleife und kein Dial-switch in demselben main und wundere dich nicht, warum der Bildschirm einen for-artigen Restkopf oder das Wort mid zeigt. Das main dieser Sitzung soll nur das int und das while halten.

Ein häufiger Mix-up ist, die Syntax selbst zu drucken: System.out.println("while (k <= 3)");. Das schreibt die Zeichen des while-Kopfs. Es wiederholt nicht. Ein anderer Mix-up ist, Anführungszeichen um k zu setzen: System.out.println("k"); schreibt den Buchstaben k bei jedem Durchlauf. Behalte println(k) ohne Anführungszeichen, wenn du den Zähler auf dem Bildschirm willst. Wenn der Test schon false ist, wenn while zum ersten Mal erreicht wird — zum Beispiel startet k bei 5 und der Test sagt k <= 3 — läuft der Rumpf nie und der Bildschirm bleibt leer. Das ist trotzdem ein gültiges while; die Demos dieser Lektion halten einen Test, der mindestens einmal true ist, damit du die gedruckten Zeilen siehst.

Was du jetzt kannst

Du kannst einen Zähler oberhalb von while starten, einen Test in while (…) setzen und sowohl das println als auch den Schritt in den geschweiften Klammern behalten. Den Test zu ändern ändert, wie viele Zeilen du bekommst. Die nächste Seite ist break und continue; dort verlässt du eine Schleife früh oder überspringst einen Durchlauf, ohne die ganze Schleife zu beenden.

🧠 Testen Sie Ihr Wissen

Bereit zum Start

Testen Sie Ihr Wissen

Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen

❓
6
Fragen
🎯
70%
Zum Bestehen
♾️
∞
Zeit
🔄
∞
Versuche

📝 Anweisungen

  • Lesen Sie jede Frage sorgfältig
  • Wählen Sie die beste Antwort für jede Frage
  • Sie können das Quiz so oft wiederholen, wie Sie möchten
  • Ihr Fortschritt wird oben angezeigt