Java: Schleifen
Eine Schleife ist ein Anweisungsblock, dessen Anweisungen mehrfach wiederholt werden. Beginn und Ende sind markiert. Wie oft die Schleife wiederholt wird, ist in der Schleifenbedingung festgelegt, die am Anfang oder am Ende der Schleife stehen kann.Beginn der Schleife (Schleifenkopf)
Anweisung/Anweisungsblock in der Schleife (Schleifenrumpf);
Ende der Schleife (Schleifenfuß);
for-Schleife
Diefor
-Schleife eignet sich, wenn vor dem Start der Schleife schon feststeht, wie oft die Schleife durchlaufen werden soll. Beispiel: Unser Roboter soll jeweils 3 Autos in eine Schachtel packen. Die Anweisungen dazu sehen so aus:
for (AutosGenommen = 0; AutosGenommen < 3; AutosGenommen++)
NimmAuto;
for (int name=Anfangswert; logischer Ausdruck; Wertaenderung)
Anweisung;
for
-Zeile werden alle Parameter angegeben, welche die Schleife braucht: Anfangswert: Am Anfang hat der Roboter noch kein Auto genommen. Logischer Ausdruck: Er soll die Anweisungen in der Schleife solange wiederholen, wie die Anzahl AutosGenommen
noch kleiner 3 ist. Wertaenderung: nach jedem Schleifendurchlauf wird AutosGenommen
um eins erhöht.Java arbeitet die Schleife so ab: Beim ersten Durchlauf ist
AutosGenommen
0, also kleiner 3. Die Prozedur NimmAuto
wird ausgeführt. Dann "sieht Java wieder im Schleifenkopf nach". AutosGenommen
wird um 1 erhöht, ist also jetzt 1. Das ist immer noch kleiner 3, also wird die Schleife noch einmal durchlaufen, die Prozedur NimmAuto
noch einmal ausgeführt. Und so weiter. Nach dem 3.Mal wird AutosGenommen
auf 3 erhöht, ist jetzt also nicht mehr kleiner 3. Damit ist die Schleifenbedingung nicht mehr erfüllt. Java springt hinter die Schleife und macht dort weiter.In unserem Beispiel enthält der Schleifenrumpf nur eine Anweisung. Deshalb können die geschweiften Klammern (
{}
) weggelassen werden. Bei mehreren Anweisungen sieht die Schleife so aus:
for (...)
{
Anweisung1;
Anweisung2;
...
AnweisungN;
}
AnweisungNachDerSchleife;
for-in-Schleife
Sie ist eine Sonderform derfor
-Schleife. Sie durchläuft alle Eigenschaften eines Objekts. Was ein Objekt ist, wird später erklärt.
for (variable in object)
{
Anweisungen;
}
while-Schleife
Diewhile
-Schleife eignet sich, wenn beim Einstieg in die Schleife noch nicht bekannt ist, wie oft die Schleife durchlaufen werden soll. Eine häufige Anwendung ist das Lesen von Tabellen. Java liest eine Zeile nach der anderen ein. Wenn die letzte Zeile eingelesen ist (das merkt Java daran, dass es keine weitere Zeile mehr findet) wird die Schleife verlassen. Die Anzahl der Schleifendurchläufe vorher festzulegen, wäre unvernünftig, weil dazu die Tabelle schon vorab bis zum Ende gelesen werden müsste, um die Zeilenanzahl zu ermitteln, bevor die eigentliche Lese-Schleife beginnt.
In unserem Beispiel eignet sich die
while
-Schleife für das Holen der Autos:
EsSindAutosDa = true;
while (EsSindAutosDa)
{
Verpacke3Autos;
EsSindAutosDa = PruefeObNochAutosDaSind();
}
do-while-Schleife
Diese Schleife wird benötigt, wenn man eine Austrittsbedingung statt einer Eintrittsbedingung hat, dass heißt, dass die Bedingung am Ende des Schleifendurchlaufs geprüft wird. Hier wird die Anweisung also auf jeden Fall einmal ausgeführt.do
{
Verpacke3Autos;
EsSindAutosDa = PruefeObNochAutosDaSind();
}
while (EsSindAutosDa)
do Anweisung while ( logischer Ausdruck );
do { Anweisungen;} while ( logischer Ausdruck );
int n = In.readInt();
do
{
Out.print(n % 10);
n = n / 10;
}
while (n > 0);
Lables, break, continue
Manchmal ist es notwendig, die Schleife "mittendrin" abzubrechen, zu verlassen oder mit dem nächsten Durchlauf am Anfang der Schleife weiterzumachen. Dazu gibt es die Anweisungenbreak
und continue
. Sie dürfen nur in Schleifen stehen und unterscheiden sich in ihrer Wirkung: break
verlässt die Schleife, indem es hinter dem Schleifenfuss fortsetzt, continue
setzt am Schleifenkopf fort und durchläuft die Schleife weiter (wenn nicht eine Bedingung im Schleifenkopf das verhindert.Lables sind Sprungmarken. Wenn ich weiß, dass das Programm an eine ganz bestimmte Stelle springen soll, kann ich diese Stelle mit einem Lable bezeichnen und aufrufen. Solche Sprünge sind aber unter Programmierern verpönt, weil sie das Verständnis erschweren. In den meisten Fällen kommt man ohne sie aus.
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Weiterlesen: ⯈ Variablen und Operatoren
Über uns

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project