While-Schleife in Java: Alles Wichtige zur kopfgesteuerten Loop
Mit der while-Schleife in Java können Sie Anweisungen ausführen lassen, bis eine Abbruchbedingung eintritt. Diese Schleifenform kann auch kombiniert und verschachtelt werden.
- Flexibel: Hosting, das jedem Website-Traffic standhält
- Verlässlich: Inklusive 24/7-Support und persönlicher Beratung
- Sicher: Kostenloses SSL-Zertifikat, DDoS-Schutz und Backups
Was ist die while-Schleife für Java?
Die while-Loop bietet Java-Nutzern die Möglichkeit, beliebig viele Anweisungen so lange durchzuführen, wie eine vorher definierte Bedingung wahr ist. Eine Zählvariable wird nicht benötigt, sodass auch die Abbruchbedingung losgelöst davon festgelegt werden kann.
Die Abbruchbedingung, die in runden Klammern notiert wird, funktioniert dabei nach dem Boolean. Das bedeutet, dass die while-Schleife in Java die hinterlegten Anweisungen so lange ausführt, wie die im Kopf festgelegte Bedingung zutrifft, also „true“ ist. Ändert sich die Abbruchbedingung dann erstmals in „false“, wird die Schleife beendet. Da die Abbruchbedingung bereits im Kopf der while-Schleife in Java festgelegt wird, spricht man von einer kopfgesteuerten Schleife.
Wie wird die while-Loop in Java aufgebaut?
Der Aufbau einer while-Schleife in Java ist immer ähnlich. Während die Syntax gleich bleibt, ändern sich nur die Anweisungen und die Abbruchbedingung. Zuerst leitet der Begriff „while“ die Schleife ein, dann folgt in runden Klammern die Abbruchbedingung und schließlich eine oder mehrere Anweisungen in geschweiften Klammern. So sieht eine while-Loop im Java-Quellcode aus:
while ( Abbruchbedingung ) {
Anweisung
}
Der Ablauf sieht immer folgendermaßen aus:
- Das Programm prüft die Bedingung.
- Ist diese erfüllt, führt die Java-Anwendung die Anweisung durch.
- Anschließend springt springt das Programm wieder an den Anfang.
- Erneut wird die Bedingung geprüft.
- Ist diese nun „false“, verlässt das Programm die while-Schleife in Java und geht weiter durch den Code.
Beispiel für eine einfache Schleife
Ein einfaches Beispiel für den Einsatz einer while-Schleife in Java ist ein Counter, der bis zu einem bestimmten Wert zählen soll. Dies tut er genau so lange, bis der festgelegte Wert – die Abbruchbedingung – erreicht ist. Ausgeschrieben sieht das so aus:
int i = 0;
while ( i <= 5 ) {
System.out.println ( "Der aktuelle Wert liegt bei: " + i );
i++;
}
Die Variable „i“ startet bei diesem Aufbau bei null. Sie soll sich nun so lange um 1 erhöhen, bis sie den Wert „5“ erreicht. Das passiert durch den Java-Operator ++. In der nächsten Runde, wenn der Wert also bei „6“ liegen würde, bricht das Programm ab und beendet damit die while-Loop in Java. Angezeigt wird somit durch den Java-Befehl System.out.println die Zahlenreihe 1, 2, 3, 4, 5.
Endlos-Schleifen vermeiden
Während die while-Schleife in Java grundsätzlich simpel aufgebaut ist, birgt sie doch ein paar Fehlerquellen, die dazu führen können, dass die Loop nicht ordnungsgemäß läuft. Fehlt eine wichtige Information oder kann die Abbruchbedingung niemals erreicht werden, kommt es zu einer endlosen Schleife, die entweder für einen Absturz sorgt oder irgendwann das Programm anhält. Das passiert zum Beispiel, wenn die Prüfung der Abbruchbedingung immer „true“ ergibt oder der angepeilte Wert nicht erreicht werden kann.
Der Unterschied zwischen while und do-while in Java
Neben der while-Loop in Java gibt es auch die do-while-Schleife. Diese hat nicht nur einen ähnlichen Namen, sondern funktioniert auch fast genauso wie die while-Schleife. Der große Unterschied ist, dass die kopfgesteuerte while-Schleife die Abbruchbedingung bereits im Vorfeld prüft und die fußgesteuerte do-while-Schleife wartet, bis die Anweisung oder die Anweisungen mindestens einmal ausgeführt wurde bzw. wurden. Das ist bereits beim Aufbau erkennbar:
int i = 0;
do {
System.out.println ( "Der aktuelle Wert liegt bei: " + i );
i++;
}
while ( i <= 5 );
Hierbei wird der Code mindestens einmal ausgeführt und die Bedingung dann im Nachhinein überprüft.
while-Loops in Java verschachteln
Sie haben auch die Möglichkeit, mehrere while-Schleifen in Java miteinander zu verbinden beziehungsweise ineinander zu verschachteln. Ein Beispiel mit zwei Zählern sieht dann so aus:
int i = 0;
while ( i <= 5 ) {
System.out.println ( "Der aktuelle Wert liegt bei: " + i );
i++;
int Zwischenschritt = 0;
while ( Zwischenschritt <= 3 ) {
System.out.println ( "Der aktuelle Zwischenwert liegt bei: " + Zwischenschritt );
Zwischenschritt++;
}
}
Zuerst wird also die äußere while-Schleife durch das Java-Programm überprüft. Ist diese „true“, springt das Programm in die innere Schleife und überprüft auch diese auf Richtigkeit. Nun wird die innere Schleife so lange überprüft, bis ihre Abbruchbedingung „false“ ist. Dann wechselt das Programm zurück in die äußere Schleife.
Der Unterschied von for und while in Java
Abseits der hier vorgestellten while-Schleife für Java und der ebenfalls aufgegriffenen do-while-Schleife gibt es auch die for-Schleife. Diese ähnelt der Java-while-Loop auf den ersten Blick, da auch sie einen Code so lange wiederholt, bis die definierte Abbruchbedingung „false“ wird. Im Unterschied zur while-Variante hat die for-Loop allerdings noch eine Laufvariable, die vor der Abbruchbedingung initialisiert wird.