Schleifen
Kurz: Java stellt drei Schleifentypen bereit, um Code wiederholt auszuführen: for, while und do...while — je nachdem, ob die Anzahl der Durchläufe vorher bekannt ist oder von einer Bedingung zur Laufzeit abhängt.
Genauer: Die Wahl der Schleifenart richtet sich danach, wann die Abbruchbedingung geprüft wird: kopfgesteuerte Schleifen (for, while) prüfen vor jedem Durchlauf, die fußgesteuerte do...while-Schleife führt den Körper immer mindestens einmal aus. break und continue steuern den Ablauf innerhalb einer Schleife zusätzlich.
Im Detail
| Schleife | Steuerung | Prüfzeitpunkt | Typischer Einsatz |
|---|---|---|---|
for | kopfgesteuert | vor jedem Durchlauf | feste/bekannte Anzahl Durchläufe |
for-each | kopfgesteuert | pro Element | über Array/Collection iterieren |
while | kopfgesteuert | vor jedem Durchlauf | unbekannte Anzahl, bedingungsabhängig |
do-while | fußgesteuert | nach jedem Durchlauf | mindestens 1 Durchlauf garantiert |
// Klassische for-Schleife - wenn die Anzahl der Durchläufe im Voraus feststeht
for (int i = 0; i < 5; i++) { System.out.println(i); }
// while - wenn unklar ist, wie oft die Schleife laufen wird
int n = 100;
while (n > 1) { n = (n % 2 == 0) ? n / 2 : n * 3 + 1; } // Collatz-Folge
// for-each - über Elemente statt Indizes iterieren
for (String name : List.of("Anna", "Ben")) { System.out.println(name); }Die Wahl der richtigen Schleifenart ist mehr als reine Geschmackssache: eine for-Schleife signalisiert dem Leser sofort “hier läuft eine bekannte, feste Anzahl Durchläufe” (z. B. genau 5 Mal), eine while-Schleife signalisiert “hier hängt die Anzahl von einer Laufzeitbedingung ab” (das Collatz-Beispiel oben kann theoretisch beliebig lange laufen). Ein for-each sollte immer dann gewählt werden, wenn man nur über ALLE Elemente einer Collection iterieren will, ohne den Index selbst zu brauchen — es ist weniger fehleranfällig (kein Off-by-one-Risiko) als eine indexbasierte for-Schleife.
Siehe auch: For-Schleife, While-Schleife, do-while-Schleife, Break/Continue