Zum Hauptinhalt springen

Schleifen

Schleifen sind eine von zwei Möglichkeiten, Anweisungsblöcke wiederholt auszuführen. Die zweite Möglichkeit sind Selbstaufrufe in Form rekursiver Methoden.

while-Schleifen

Bei der while-Schleife wird eine bestimmte Anweisungsfolge (Schleifenrumpf) wiederholt, solange eine bestimmte Bedingung (Schleifenbedingung) wahr ist. Da zu Beginn der Schleife die Bedingung geprüft wird, spricht man auch von einer kopfgesteuerten Schleife.

MainClass.java
public class MainClass {

public static void main(String[] args) {
int i = 0;
while (i < 10) {
System.out.println(i);
i++;
}
}

}

do/while-Schleifen

Im Gegensatz zur while-Schleife wird bei der do/while-Schleife der Schleifenrumpf immer mindestens einmal durchlaufen. Da die Bedingung hier am Ende der Schleife geprüft wird, spricht man hier von einer fußgesteuerten Schleife.

MainClass.java
public class MainClass {

public static void main(String[] args) {
int i = 0;
do {
System.out.println(i);
i++;
} while (i < 10);
}

}

for-Schleifen

Bei der for-Schleife handelt es sich um eine indexgesteuerte Schleife, auch Zählschleife genannt. Durch den Index wird bereits zu Schleifenbeginn festgelegt, wie oft die Schleife durchlaufen wird.

MainClass.java
public class MainClass {

public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
}

}

for-each-Schleifen

Mit Hilfe der for-each-Schleife können Datensammlungen wie z.B. Felder und Listen elementweise durchlaufen werden. Allerdings können die Elemente einer Datensammlung nur geändert werden, nicht jedoch die Datensammlung selbst.

MainClass.java
public class MainClass {

public static void main(String[] args) {
int[] ids = {4, 8, 15, 16, 23, 42};
for (int i : ids) {
System.out.println(i);
}
}

}

Schleifensteuerung

Die Anweisung break sorgt dafür, dass eine Schleife ungeachtet der Bedingung komplett verlassen wird. Mit der Anweisung continue wird der aktuelle Schleifendurchgang abgebrochen und die Schleife wird mit dem nächsten Durchlauf fortgeführt.

MainClass.java
public class MainClass {

public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (i == 6) {
break;
}
if (i % 2 == 0) {
continue;
}
System.out.println(i);
}
}

}