Die while-Schleife (oder auch while-loop genannt) in Java ermöglicht das wiederholte Ausführen eines Blocks solange eine bestimmte Bedingung erfüllt ist. Bei der Bedingung handelt es sich um einen boolschen Ausdruck.
Aufbau einer while-Schleife
while (Bedingung)
Anweisung
Wird die while-Schleife aufgerufen, so wird zuerst die Bedingung ausgewertet. Sofern diese zu true evaluiert werden die in der Schleife enthaltenen Anweisungen ausgeführt. Ist die letzte Anweisung erfüllt, so wird die Prüfung der Bedingung erneut durchgeführt. Dieses Vorgehen wird solange wiederholt, bis die Bedingung zu false evaluiert.
Beispielcode
public static void main(String[] args) { boolean status = true; while(status) { System.out.println("Schleife wird ausgeführt!"); status = false; } System.out.println("Schleife wurde verlassen!"); }
Schleife wird ausgeführt!
Schleife wurde verlassen!
Im Beispiel wird die Schleife lediglich einmal durchlaufen, danach wird diese wieder verlassen.
public static void main(String[] args) { potenzieren(3,2); potenzieren(3,4); potenzieren(7,5); potenzieren(3,0); } public static void potenzieren(int basis, int exponent) { // Zahl hoch 0 = 1 if(exponent==0) { System.out.println(basis + " hoch " + exponent + " ist: " + 1 ); return; } // Hilfsvariablen int counter = 1; int ergebnis = basis; // Schleife while(counter < exponent) { ergebnis = ergebnis*basis; counter++; } System.out.println(basis + " hoch " + exponent + " ist: " + ergebnis ); }
3 hoch 2 ist: 9
3 hoch 4 ist: 81
7 hoch 5 ist: 16807
3 hoch 0 ist: 1
Wichtig zu verstehen ist, dass es auch vorkommen kann, dass die Schleife nie ausgeführt wird. Dies ist der Fall, wenn die Bedingung bei der Ersten Auswertung bereits false ist. Hier unterscheidet sich die while–Schleife grundlegend von der do-Schleife.
Endlosschleife
public static void main(String[] args) { int count = 0; while (true) { System.out.println(count + " Iterationen durchgeführt."); count++; } }
Da im Schleifenrumpf im Gegensatz zu den bisherigen Implementationen der while-Schleife keine Aktualisierung der Bedingung erfolgt, wird die Schleife „unendlich“ oft ausgeführt.
Pingback: do-while-Schleife - LernJAVA.de
Pingback: Was sind Kontrollstrukturen? - LernJAVA.de