07 Java – Schleifen
Schleifen führen einen bestimmten Code-Abschnitt so lange aus, bis ein bestimmter Zustand erreicht ist. Dieser Zustand wird hier über eine Bedingung ermittelt. Solange die Bedingung zutrifft, wird der Schleifenrumpf ausgeführt. Alle Schleifen können die Keywords break
und continue
verwenden. Weitere Keywords werden in den jeweiligen Abschnitten beschrieben. Schleifen können in die folgenden 4 Arten unterteilt werden.
for-Schleife
Die for
-Schleife wird auch als Zählschleife bezeichnet. Sie verwendet das Keyword for
. Der Kopf der Schleife besteht aus 3 Teilen, die durch Semikolons getrennt sind.
Schleifenteil | Beschreibung |
---|---|
Initialisierung | Hier werden alle Variablen initialisiert, die im Schleifenrumpf benötigt werden. |
Bedingung | Die Bedingung prüft, ob ein gewisser Zustand erreicht ist. Solange die Bedingung erfüllt ist, wird der Schleifenrumpf ausgeführt. |
In- bzw. Dekrement | Nachdem der Rumpf ausgeführt wurde, wird die Schleifenvariable erhöht oder verringert. |
Folgendes Beispiel zeigt die einfachste Form der for
-Schleife, welche die Zahlen von 1
bis 10
auf der Konsole ausgibt.
Die Variable
i
wird auf 0 gesetzt.Der Rumpf wird ausgeführt, so lange
i
kleiner10
ist.Nach der Ausführung des Rumpfes wird
i
jedes Mal um eins erhöht.
while-Schleife
Die while-Schleife verwendet das Keyword while
.
Solange die Bedingung zutrifft, wird der Rumpf ausgeführt.
Jede while
-Schleife kann auch als for-Schleife geschrieben werden und umgekehrt.
do-while-Schleife
Die do
-while
-Schleife funktioniert im Grund genauso wie die while-Schleife. Der einzige Unterschied besteht darin, dass die Bedingung nach dem Schleifenrumpf überprüft wird. D.h. der Schleifenrumpf wird immer mindestens einmal ausgeführt. Die Schleife verwendet die Keywords do
und while
.
for-each-Schleife
Die for
-each oder auch enhanced-for
-Schleife ist eine verkürzte Schreibweise der for-Schleife. Diese kann nur verwendet werden, wenn über Collections oder Arrays iteriert werden soll.
Die Schleifenvariable i
nimmt nacheinander alle Werte des Arrays an.
break
& continue
Das Keyword break
steht für die Zuständigkeit, eine Schleife an einem bestimmten Punkt vorzeitig zu beenden. Das Keyword continue
steht für die Zuständigkeit, den weiteren Schleifenablauf zu überspringen und mit dem nächsten Schleifendurchlauf fortzufahren.
Die folgende Schleife gibt alle Zahlen von 0
bis 4
auf der Konsole aus, bis i
die Zahl 5
enthält. Dann wird die komplette Schleife durch die break
-Anweisung abgebrochen.
Die folgende Schleife gibt alle Zahlen von 0
bis 4
auf der Konsole aus, bis i
die Zahl 5
enthält. Dann wird die Ausgabe übersprungen und mit dem nächsten Schleifendurchlauf fortgesetzt.
Geschachtelte Schleifen
Wie Verzweigungen können auch Schleifen verschachtelt werden. Folgendes Beispiel gibt das kleine 1x1 in tabellarischer Form auf der Konsole aus.
break label
Es kann vorkommen, dass mit mehreren geschachtelten Schleifen gearbeitet wird. Das Keyword break
beendet immer nur die innerste Schleife. Soll der Ablauf der äußeren Schleife abgebrochen werden, kann dafür ein gelabeltes break
verwendet werden.
Ergibt das erste Ergebnis beim kleinen 1x1 eine Zahl die größer oder gleich 50
ist, wird das label
gebrochen und die äußerste Schleife bricht ab. Dadurch wird in diesem Fall nur die erste Hälfte des kleinen 1x1 ausgegeben. label
ist hier ein Identifier und kann auch anders benannt werden.
Übung
Erweitert den Taschenrechner um eine Schleife. Das Programm soll nach jedem Ergebnis nach einer weiteren Berechnung fragen.