Mit der while-Schleife in Java können Sie An­wei­sun­gen ausführen lassen, bis eine Ab­bruch­be­din­gung eintritt. Diese Schlei­fen­form kann auch kom­bi­niert und ver­schach­telt werden.

Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz inklusive

Was ist die while-Schleife für Java?

Die while-Loop bietet Java-Nutzern die Mög­lich­keit, beliebig viele An­wei­sun­gen so lange durch­zu­füh­ren, wie eine vorher de­fi­nier­te Bedingung wahr ist. Eine Zähl­va­ria­ble wird nicht benötigt, sodass auch die Ab­bruch­be­din­gung losgelöst davon fest­ge­legt werden kann.

Die Ab­bruch­be­din­gung, die in runden Klammern notiert wird, funk­tio­niert dabei nach dem Boolean. Das bedeutet, dass die while-Schleife in Java die hin­ter­leg­ten An­wei­sun­gen so lange ausführt, wie die im Kopf fest­ge­leg­te Bedingung zutrifft, also „true“ ist. Ändert sich die Ab­bruch­be­din­gung dann erstmals in „false“, wird die Schleife beendet. Da die Ab­bruch­be­din­gung bereits im Kopf der while-Schleife in Java fest­ge­legt wird, spricht man von einer kopf­ge­steu­er­ten 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 An­wei­sun­gen und die Ab­bruch­be­din­gung. Zuerst leitet der Begriff „while“ die Schleife ein, dann folgt in runden Klammern die Ab­bruch­be­din­gung und schließ­lich eine oder mehrere An­wei­sun­gen in ge­schweif­ten Klammern. So sieht eine while-Loop im Java-Quellcode aus:

while ( Abbruchbedingung ) {
Anweisung
}

Der Ablauf sieht immer fol­gen­der­ma­ßen aus:

  1. Das Programm prüft die Bedingung.
  2. Ist diese erfüllt, führt die Java-Anwendung die Anweisung durch.
  3. An­schlie­ßend springt springt das Programm wieder an den Anfang.
  4. Erneut wird die Bedingung geprüft.
  5. 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 be­stimm­ten Wert zählen soll. Dies tut er genau so lange, bis der fest­ge­leg­te Wert – die Ab­bruch­be­din­gung – erreicht ist. Aus­ge­schrie­ben 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 Zah­len­rei­he 1, 2, 3, 4, 5.

Endlos-Schleifen vermeiden

Während die while-Schleife in Java grund­sätz­lich simpel aufgebaut ist, birgt sie doch ein paar Feh­ler­quel­len, die dazu führen können, dass die Loop nicht ord­nungs­ge­mäß läuft. Fehlt eine wichtige In­for­ma­ti­on oder kann die Ab­bruch­be­din­gung niemals erreicht werden, kommt es zu einer endlosen Schleife, die entweder für einen Absturz sorgt oder ir­gend­wann das Programm anhält. Das passiert zum Beispiel, wenn die Prüfung der Ab­bruch­be­din­gung immer „true“ ergibt oder der an­ge­peil­te Wert nicht erreicht werden kann.

Der Un­ter­schied 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 funk­tio­niert auch fast genauso wie die while-Schleife. Der große Un­ter­schied ist, dass die kopf­ge­steu­er­te while-Schleife die Ab­bruch­be­din­gung bereits im Vorfeld prüft und die fuß­ge­steu­er­te do-while-Schleife wartet, bis die Anweisung oder die An­wei­sun­gen min­des­tens einmal aus­ge­fü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 min­des­tens einmal aus­ge­führt und die Bedingung dann im Nach­hin­ein überprüft.

while-Loops in Java ver­schach­teln

Sie haben auch die Mög­lich­keit, mehrere while-Schleifen in Java mit­ein­an­der zu verbinden be­zie­hungs­wei­se in­ein­an­der zu ver­schach­teln. 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 Rich­tig­keit. Nun wird die innere Schleife so lange überprüft, bis ihre Ab­bruch­be­din­gung „false“ ist. Dann wechselt das Programm zurück in die äußere Schleife.

Der Un­ter­schied von for und while in Java

Abseits der hier vor­ge­stell­ten while-Schleife für Java und der ebenfalls auf­ge­grif­fe­nen 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 wie­der­holt, bis die de­fi­nier­te Ab­bruch­be­din­gung „false“ wird. Im Un­ter­schied zur while-Variante hat die for-Loop al­ler­dings noch eine Lauf­va­ria­ble, die vor der Ab­bruch­be­din­gung in­itia­li­siert wird.

Zum Hauptmenü