CodeGym /Kurse /JAVA 25 SELF /do-while-Schleife: Einführung und Besonderheiten in der A...

do-while-Schleife: Einführung und Besonderheiten in der Anwendung

JAVA 25 SELF
Level 4, Lektion 3
Verfügbar

1. Einführung in die Schleife do-while

Stellen Sie sich vor: Sie schreiben ein Programm, das die vom Benutzer gedachte Zahl errät. Man muss die Zahl mindestens einmal abfragen und die Anfrage wiederholen, bis man richtig rät. Wenn die Bedingung im Voraus geprüft wird, kann eine normale while-Schleife die Schleife womöglich gar nicht betreten.

Hier hilft do-while. Im Unterschied zu while führt sie den Schleifenkörper immer mindestens einmal aus – selbst wenn die Bedingung sofort falsch ist. Das ist wie einen Kaugummi an der Kasse zu bekommen, unabhängig davon, ob man etwas kauft.

Syntax von do-while

Ganz einfach: noch ein „Pärchen“ von Schlüsselwörtern in Java.


do
{
    // Schleifenkörper: Dieser Code wird mindestens einmal ausgeführt
}
while (condition);
Syntax der Schleife do-while

Achten Sie auf das Semikolon ; am Ende nach der Klammer der Bedingung! Bei der normalen while-Schleife gibt es das nicht, hier jedoch schon – eine klassische Falle für Einsteiger.

Beschreibung der Schritte der do-while-Schleife

  1. Betreten des Schleifenkörpers (immer mindestens einmal).
  2. Prüfung der Bedingung.
  3. Wenn die Bedingung wahr ist – den Schleifenkörper erneut ausführen.
  4. Wenn die Bedingung falsch ist – die Schleife beenden.

2. Unterschied zur gewöhnlichen while-Schleife

Erinnern wir uns an das Grundschema einer normalen while-Schleife:

while (condition)
{
    // Schleifenkörper
}

Der Körper wird kein einziges Mal ausgeführt, wenn die Bedingung von Anfang an falsch ist!

Nun ein Beispiel mit do-while:

do
{
    // Schleifenkörper
}
while (condition);

Der Schleifenkörper wird mindestens einmal ausgeführt, selbst wenn die Bedingung sofort falsch ist!

Veranschaulichen wir den Unterschied mit Code:

// Gewöhnliche while-Schleife
int count = 0;
while (count > 0)
{
    System.out.println("count = " + count);
    count--;
}
// Es wird nichts ausgegeben

// do-while
int count2 = 0;
do
{
    System.out.println("count2 = " + count2);
    count2--;
}
while (count2 > 0);
// Gibt "count2 = 0" aus, obwohl die Bedingung falsch ist!

Manchmal wirkt das wie eine „Seltsamkeit“, aber genau dieses Verhalten ist bei Benutzereingaben und bei der Datenvalidierung erforderlich.

3. Praktische Einsatzszenarien für do-while

Wo begegnet uns diese Schleife am häufigsten?

Datenvalidierung

Ein gängiges Szenario: Wir bitten den Benutzer, gültige Daten einzugeben (zum Beispiel ein Passwort mit mindestens 6 Zeichen) und wiederholen die Abfrage, bis alles korrekt ist.

String password;
do
{
    System.out.print("Geben Sie ein neues Passwort ein (mindestens 6 Zeichen): ");
    password = console.nextLine();
}
while (password.length() < 6);

System.out.println("Passwort akzeptiert!");

Der Schleifenkörper wird mindestens einmal ausgeführt – selbst wenn der Benutzer sofort ein langes Passwort eingibt.

Menü in Konsolenanwendungen

Ein häufiges Muster: ein Menü anzeigen, auf einen Befehl warten und nur bei einem speziellen Befehl beenden.

String command;
do
{
    System.out.println("Menü:");
    System.out.println("1. Begrüßung anzeigen");
    System.out.println("2. Beenden");
    System.out.print("Wählen Sie eine Aktion: ");
    command = console.nextLine();

    if (command.equals("1")) 
    {
        System.out.println("Hallo, Welt!");
    }
    else if (!command.equals("2"))
    {
        System.out.println("Unbekannter Befehl.");
    }
}
while (!command.equals("2"));

System.out.println("Auf Wiedersehen!");

4. Tabelle: Vergleich von while und anderen Schleifen

Schleifentyp Zeitpunkt der Bedingungsprüfung Mögliche Anzahl der Ausführungen des Schleifenkörpers Wann geeignet
while
Vorher 0-mal oder öfter Wenn die Anzahl der Wiederholungen im Voraus unbekannt ist
do-while
Danach 1-mal oder öfter Wenn der Schleifenkörper mindestens einmal ausgeführt werden soll
for
Vorher 0-mal oder öfter Wenn die Anzahl der Iterationen bekannt ist
1
Aufgabe
JAVA 25 SELF, Level 4, Lektion 3
Gesperrt
Erster Spielstart 🎮
Erster Spielstart 🎮
1
Aufgabe
JAVA 25 SELF, Level 4, Lektion 3
Gesperrt
PIN-Eingabe 💳
PIN-Eingabe 💳
1
Aufgabe
JAVA 25 SELF, Level 4, Lektion 3
Gesperrt
Interaktives Terminal 💻
Interaktives Terminal 💻
1
Aufgabe
JAVA 25 SELF, Level 4, Lektion 3
Gesperrt
Registrierung eines neuen Kontos 🔒
Registrierung eines neuen Kontos 🔒
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION