For every-Schleife wurde in Java ab JDK 5 eingeführt. Sie zielt darauf ab, sequentiell alle Elemente einer Sammlung oder eines Arrays zu durchlaufen. Es ist auch in anderen Sprachen wie C# vorhanden, wo das Schlüsselwort for-each verwendet wird. Allerdings verwendet Java im Gegensatz zu C# das Schlüsselwort „for“ nur zur Implementierung einer for-each-Schleife, seine Syntax unterscheidet sich jedoch von der herkömmlichen for-Schleife. Diese for-each-Schleife wird in Java auch als erweiterte for-Schleife bezeichnet.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Syntax:
for(type iter_var : Collection) statement_block
Die Erklärung für jeden der oben verwendeten Begriffe lautet wie folgt:
Es ist wichtig zu beachten, dass die for-each-Schleife nacheinander auf die Sammlungs-/Array-Elemente zugreift und dabei den Wert jedes Elements in der Iterationsvariablen speichert. Es folgt das Flussdiagramm der for-each-Schleife.
Wie Sie bemerkt haben, gibt es bestimmte subtile Unterschiede zwischen der for-Schleife und der for-each-Schleife. Für die For-Schleife muss zuvor die Anzahl der Iterationen angegeben werden. Dies ist jedoch bei der for-each-Schleife nicht der Fall, da die Schleife vom ersten Element bis zum letzten Element der Sammlung/des Arrays iteriert und keine Angabe der Anzahl der Iterationen erforderlich ist.
Ein wichtiger Punkt, den Sie beachten sollten, ist, dass der in der for-each-Schleife angegebene Typ mit dem Typ der Elemente in der Sammlung übereinstimmen muss, da es sonst zu Kompatibilitätsproblemen kommt.
Es folgen die verschiedenen Beispiele:
Lassen Sie uns das Durchschnittsalter einer Gruppe von Personen ermitteln, die die for-Schleife verwenden:
Code:
public class Main { public static void main(String[] args) { int ages[] = {15, 18, 16, 17, 14, 12, 13, 20, 22, 25}; int sum = 0; System.out.print("Ages of the group are : "); for (int i = 0; i < 10 ; i++) { System.out.print(ages[i]+" "); sum += ages[i]; } System.out.println("\n Average age of the group = " + (sum/10)); } }
Ausgabe:
So ermitteln Sie das Durchschnittsalter einer Gruppe von Personen mithilfe einer for-each-Schleife:
Code:
public class Main { public static void main(String[] args) { int ages[] = {15, 18, 16, 17, 14, 12, 13, 20, 22, 25}; int sum = 0; System.out.print("Ages of the group are : "); for (int x : ages) { System.out.print(x+" "); sum += x; } System.out.println("\n Average age of the group = " + (sum/10)); } }
Ausgabe:
Die Ausgabe ist bei beiden Schleifen gleich, wie aus den obigen Abbildungen hervorgeht.
Es ist möglich, die Anzahl der Iterationen der for-each-Schleife mithilfe einer break-Anweisung zu reduzieren. Wenn wir beispielsweise nur die Summe der ersten 5 Elemente ermitteln möchten, können wir die break-Anweisung wie folgt verwenden:
Code:
public class Main { public static void main(String[] args) { int ages[] = {15, 18, 16, 17, 14, 12, 13, 20, 22, 25}; int ctr = 0, sum = 0; System.out.print("Ages of the group are : "); for (int x : ages) { System.out.print(x+" "); } for (int x : ages) { if (ctr == 5) break; sum += x; ctr += 1; } System.out.println("\nSum of age of first 5 people of the group = " + sum); } }
Ausgabe:
In der oben erwähnten for-each-Schleife ist x die Iterationsvariable, die pro Iteration ein Element des Arrays speichert, das sich in der nächsten Iteration ändert. In der ersten Iteration speichert x das erste Element des Arrays und das letzte Element des letzten Iterationselements. Im Gegensatz zur for-Schleife greifen wir über den Index auf die Array-Elemente zu, denn jede Schleife verwendet eine Iterationsvariable, um auf die Elemente zuzugreifen.
Bei der Verwendung für jede Schleife ist Vorsicht geboten, da die Iterationsvariable den Wert des Array-Elements vorübergehend speichert, da sie „schreibgeschützt“ ist und eine Änderung ihres Werts das ursprüngliche Array nicht ändert. Dies steht im Widerspruch zur for-Schleife, bei der das Ändern eines Elements das ursprüngliche Array ändert.
Betrachten wir ein Beispiel, in dem wir zu jedem Element des Arrays 5 hinzufügen. Den Unterschied in der Ausgabe können wir im folgenden Beispielcode erkennen:
Die for-Schleife mit verschiedenen Bedingungen wird unten erklärt:
Code:
public class Main { public static void main(String[] args) { int ages[] = {15, 18, 16, 17, 14, 12, 13, 20, 22, 25}; System.out.print("Elements of the array are : "); for (int i = 0; i < 10; i++) { System.out.print(ages[i]+" "); ages[i]+= 5; } System.out.print("\nNew elements of the array are : "); for (int i = 0; i < 10; i++) { System.out.print(ages[i]+" "); } } }
Ausgabe:
Die Ausgabe der for-Schleife zeigt die Aktualisierung des ursprünglichen Arrays
Die for-Schleife mit verschiedenen Bedingungen wird unten erklärt:
Code:
public class Main { public static void main(String[] args) { int ages[] = {15, 18, 16, 17, 14, 12, 13, 20, 22, 25}; System.out.print("Elements of the array are : "); for (int x : ages) { System.out.print(x+" "); x += 5; } System.out.print("\nNew elements of the array are : "); for (int x : ages) { System.out.print(x+" "); } } }
Ausgabe:
Die Ausgabe der for-each-Schleife zeigt keine Aktualisierung des ursprünglichen Arrays
Das obige ist der detaillierte Inhalt vonFor-Each-Schleife in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!