Skip to main content

Die erweiterte for-Schleife

Über Arrays zu iterieren ist einfach und folgt immer demselben Muster.

String[] a = {"a", "b", "c"};
for (int i = 0; i < a.length; i = i + 1) {
System.out.println(a[i]); // Array Zugriff
}

Diese Art durch Arrays zu iterieren ist jedoch etwas umständlich. Wir definieren eine Variable, die dem Index entspricht, nur um später via Indexieren auf das entsprechende Element zugreifen zu können. Typischerweise brauchen wir den Index aber gar nie, sondern uns interessiert nur das Element selbst. Ausserdem passieren schnell Fehler. Zum Beispiel kann es leicht passieren, dass wir statt i < a.length, i <= a.length schreiben, was zu einem Laufzeitfehler führen würde. Deshalb gibt es in Java noch eine weitere Variante der For-Schleife, die für diese Situation angepasst ist. Dabei arbeiten wir direkt mit den Elementen. Die obige Schleife kann wie folgt umgeschrieben werden:

String[] a = {"a", "b", "c"};
for (String element : a) {
System.out.println(element);
}

Wie wir sehen, deklarieren wir mit String element innerhalb der for-Schleife direkt eine Variable vom Typ der im Array gespeicherten Elemente. Dieser Variable wird jeweils das Array-Element direkt zugewiesen. Wir können uns also den zusätzlichen Umweg über die Index-Variable sparen. Das Programm wird lesbarer, direkter und ist weniger fehleranfällig. Wir werden später sehen, dass diese Art der for-Schleife nicht nur für Arrays, sondern für alle Datentypen funktioniert, die eine Sammlung von Elementen speichern.

Experimente

Probieren Sie es gleich selbst aus:

  • Iterieren Sie über ein Array von int statt String.
  • Definieren Sie ein zweidimensionales Array und iterieren Sie über alle Elemente mittels zweier erweiterter for-Schleifen.

Haben Sie Fragen oder Bemerkungen? Schreiben Sie diese doch ins Forum