Die erweiterte for-Schleife gestattet es, auf einfache Weise listenartige Datenstrukturen und Arrays zu durchlaufen.v.5.0
Seit Java 5 gibt es eine Struktur, die leicht
unübersichtlich werdende Quelltexte mit Iteratoren und
for-Schleifen mit Zählvariablen vermeiden hilft. Sie
ähnelt der u.a. aus PHP bekannten foreach
-Schleife. Ihre allgemeine Syntax sieht wie folgt aus.
for (datentyp bezeichner : ausdruck) {
anweisung;
}
wobei der Doppelpunkt als "in" gesprochen wird. Ein
konkretes Beispiel zeigt das folgende Durchwandern einer LinkedList:
import java.util.LinkedList;
public class ErweiterteForSchleife {
public static void main(String[] args) {
LinkedList<String> l = new LinkedList<String>();
l.add("eins");
l.add("zwei");
l.add("drei");
for(String s : l)
System.out.println(s);
}
}
Gesprochen wird dies: "for each String s in l...".
Oracle empfiehlt, die erweiterte for-Schleife wo möglich auch für Arrays zu verwenden.1 Gelegentlich im Internet zu findende Diskussionen, nach denen dies bei großen Arrays primitiver Datentypen aus Performance-Gründen nicht zu empfehlen sei, müssen daher skeptisch gesehen werden.
int[] i = {1,2,3};
for (int n : i)
System.out.println(n);
Aus syntaktischen Gründen kann die erweiterte for-Schleife zum Durchlaufen von Arrays natürlich nicht in jedem Falle verwendet werden, da z.B. die Zählvariable nicht zur Verfügung steht.
1) https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html und
https://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html
Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.