Was ist eine Schleife (loop) und welche Arten gibt es?

Eine Schleife besteht aus einer Schleifenbedingung und einem Schleifenkörper. Die Schleife ist eine Wiederholstruktur. Die Instruktionen des Schleifenkörpers werden solange wiederholt ausgeführt, bis die Schleifenbedingung nicht mehr erfüllt ist. In Java unterscheidet man die while-Schleife, die do-while-Schleife, die for-Schleife und die foreach-Schleife.

  • while-Schleife: Bei dieser Schleife wird die Schleifenbedingung am Beginn – also vor der Ausführung des Schleifenkörpers – ausgewertet.
  • do-while-Schleife: Bei dieser Schleife wird die Schleifenbedingung am Ende – also nach der Ausführung des Schleifenkörpers – ausgewertet.
    Das hat zur Konsequenz, dass der Schleifenkörper mindestens ein Mal durchlaufen wird.
    Anwendung findet diese Schleife beispielsweise bei der Evaluierung von Benutzereingaben auf der Konsole, da man die Eingabe vor der Auswertung lesen muss.
    Im folgenden Beispiel wird von der Konsole gelesen, bis der leere String eingegeben wird.
public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    String s;
    do {
        s = sc.nextLine();
        System.out.println(s.toUpperCase());
    } while (!s.isEmpty());
    System.out.println(s);
    sc.close();
}
  • for-Schleife: Genauso wie bei der while-Schleife wird bei der for-Schleife die Schleifenbedingung vor der Ausführung des Schleifenkörpers ausgewertet. Diese Schleife findet Anwendung, wenn die Anzahl der Schleifendurchläufe bekannt ist. Die for-Anweisung besteht aus:
    • Initialisierungsteil – Der Initialisierungsteil wird oft zum Initialisieren einer Zählvariable verwendet
    • Schleifenbedingung
    • Inkrementierungsteil – Der Inkrementierungsteil wird am Ende jeder Iteration ausgeführt. An dieser Stelle können verschiedene Anweisungen stehen. In der Regel wird dieser Teil aber zum Inkrementieren der Zählvariable verwendet.
  • foreach-Schleife: Die foreach-Schleife wird auch als verkürzte for-Schleife bezeichnet. Sie ermöglicht ein einfaches Iterieren über Arrays und Objekte, die das Iterable-Interface implementieren (List, Set, …).

Mehr dazu findet man hier.