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.