While-Schleifen kommen immer dann zur Anwendung, wenn nicht bekannt ist, wie oft die Schleife durchlaufen werden muss, bis die Bedingung erfüllt ist.
Sie werden solange durchlaufen, bis der der Ausdruck innerhalb der Klammern FALSE wird. Innerhalb des Schleifenblocks muss sich der Wert des zu prüfenden Ausdrucks ändern, ansonsten wird die Schleife endlos durchlaufen.
Sie gehört zu den kopfgesteuerten Schleifen, weil die Bedingung vor dem Eintritt in den Schleifenkörper geprüft wird.
Aufbau der while-Scheife
while (bedingung) { //Schleifenkörper // zum Verlassen der Schleife muss die Bedingung innerhalb // der Schleife irgendwann false werden }
Flussdiagramm while Schleife
Tipp
So funktioniert ein Flussdiagramm
Die Inkrementierung / Dekremnetierung geschieht immer in der Zeile, in der das Inkrement steht.
Der Präfix-Operator z.B. ++x ändert den Wert der Variablen x bei Aufruf sofort, der Postfix-Operator gibt jedoch erst den alten Wert an die aktuelle Variable weiter.
Code-Beispiel
1 2 3 4 5 6 | int x = 1; while (x < 10) // Solange x kleiner 500 ist... { //mach das, was zwischen den geschweiften Klammern steht. x++; // erhöhe x um 1 } |
Was passiert?
Zeile 1: Hier wird mittels while(x < 10) geprüft, ob der Wert der Variablen x kleiner 10 ist.
Solange das Ergebnis der Prüfung TRUE (wahr), wird der Schleifenkörper durchlaufen (Zeilen 4-6) .
Anstatt der Variablen x könnte auch der Messwert eines Fühlers innerhalb der Bedingung prüfen, ob der Wert über- oder unterschreitten wird.
In Zeile 5 wird der Wert von x durch den Inkrementoperator ++ um 1 erhöht.
Ist die Variable größer oder gleich 10 ist die Bedingung der while-Schleife FALSE wird die Schleife nicht weiter ausgeführt. Das Programm wird nach der schließenden Klammer fortgesetzt.