While-Schleifen
Was ist eine While-Schleife?
Mit einer While-Schleife kann ein Anweisungsblock wiederholt werden, solange eine Bedingung erfüllt ist. Dabei gibt es While-Schleifen in den folgenden beiden Ausprägungen:
![](https://image.jimcdn.com/app/cms/image/transf/dimension=239x1024:format=png/path/s834d64c225dfb243/image/iae0340c7a16b299c/version/1503429901/image.png)
- While-Schleife: Die Bedingung wird erst geprüft, bevor die Schleife durchlaufen wird
![](https://image.jimcdn.com/app/cms/image/transf/dimension=239x1024:format=png/path/s834d64c225dfb243/image/i8b58f7051a2160d5/version/1503429914/image.png)
- Do/While-Schleife: Die Schleife wird erst einmal durchlaufen, bevor die Bedingung geprüft wird
While-Schleife
Bei einer While-Schleife findet immer erst die Prüfung der Bedingung statt, bevor die Schleife durchlaufen wird. Ist die Bedingung schon zu Anfang „falsch“, wird der entsprechende Anweisungsblock gar nicht ausgeführt:
HTML-Datei:
![](https://image.jimcdn.com/app/cms/image/transf/dimension=670x10000:format=png/path/s834d64c225dfb243/image/ied8254c6fc6da1a6/version/1523309923/image.png)
Ergebnis:
Beispiel 1
Do/While-Schleife
Bei einer Do/While-Schleife wird die Schleife immer erst einmal durchlaufen und dann die Bedingung geprüft. D. h. einen Schleifendurchlauf gibt es immer, auch wenn die Bedingung von Anfang an „falsch“ ist:
HTML-Datei:
![](https://image.jimcdn.com/app/cms/image/transf/dimension=670x10000:format=png/path/s834d64c225dfb243/image/i873d5a11afcbd97b/version/1523310108/image.png)
Ergebnis:
Beispiel 2
Vergleich While-Schleife / For-Schleife
Eine While-Schleife entspricht einer For-Schleife, bei der die erste und letzte Anweisung weggelassen wurde:
HTML-Datei:
![](https://image.jimcdn.com/app/cms/image/transf/dimension=670x10000:format=png/path/s834d64c225dfb243/image/i06b7205dfdfb048b/version/1523310317/image.png)
Ergebnis:
Beispiel 3
Switch-Schleife
For-Schleife
Abschlussübung
Als Abschlussübung kannst du die Abschlussübung aus dem vorhergehenden Beispiel kopieren, die äußere Schleife durch eine While-Schleife ersetzen und den inneren Anweisungsblock so erweitern, dass auch der Name der entsprechenden Eigenschaft ausgegeben wird:
Beispiel 4
Gehe dabei wie folgt vor:
- Prüfe in der While-Schleife, ob für einen bestimmten Index noch ein Objekt im Array vorhanden ist:
while (auto[i]) { … } - Gib im inneren Anweisungsblock zusätzlich den Namen entsprechenden Eigenschaft aus:
output1 += a + ": " + auto[i][a] + "<br />"; - Vergiss nicht den Index „i“ an der richtigen Stelle zu inkrementieren (zu erhöhen)
Die Lösung kannst du dir hier herunterladen: