Einführung in die For-Each-Schleife in Java
Für jede Schleife wurde Java ab JDK 5 eingeführt. Ziel ist es, alle Elemente einer Sammlung oder eines Arrays nacheinander zu durchlaufen. Es gibt es auch in anderen Sprachen wie C #, wo es das Schlüsselwort for-each verwendet. Java verwendet das Schlüsselwort 'for' jedoch nur, um im Gegensatz zu C # eine Schleife für jede Schleife zu implementieren. Die Syntax unterscheidet sich jedoch von der für eine Schleife üblichen. Diese For-Each-Schleife wird in Java auch als Enhanced For-Schleife bezeichnet.
Syntax
for(type iter_var : Collection) statement_block
Die Erklärung für jeden der oben verwendeten Begriffe lautet wie folgt:
- 'Typ' gibt den Datentyp der Objekte des an
- 'iter_var' gibt den Namen der Iterationsvariablen an, in der jeder Wert der Sammlung gespeichert ist, während wir die Schleife durchlaufen.
- 'Collection' gibt die Collection oder das Array an, durch die bzw. das iteriert werden soll.
- 'Anweisungsblock' ist die Menge von Anweisungen, die wir für jede Iteration der Schleife ausführen möchten.
Es ist wichtig zu beachten, dass die For-Each-Schleife nacheinander auf die Auflistungs- / Array-Elemente zugreift und den Wert jedes Elements in der Iterationsvariablen speichert. Es folgt das Flussdiagramm der For-Each-Schleife.
Wie Sie bemerkt haben, gibt es gewisse subtile Unterschiede zwischen for-Schleife und for-each-Schleife. Für die For-Schleife muss die Anzahl der Iterationen im Voraus festgelegt werden. Dies ist jedoch bei der for-each-Schleife nicht der Fall, da die Schleife vom ersten Element bis zum letzten Element der Collection / des Arrays durchläuft und nicht die Anzahl der Iterationen angegeben werden muss.
Ein wichtiger Punkt, der beachtet werden muss, ist, dass der in der for-each-Schleife angegebene Typ mit dem Typ der Elemente in der Auflistung übereinstimmen muss, da sonst Kompatibilitätsprobleme auftreten.
Beispiele
Für Schleife
Ermitteln wir das Durchschnittsalter einer Gruppe von Personen, die for loop 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:
Für jede Schleife
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 mit beiden Schleifen identisch, wie aus den obigen Abbildungen ersichtlich.
Foreach-Schleife mit Break-Anweisung
Es ist möglich, die Anzahl der Iterationen der for-each-Schleife mit einer break-Anweisung zu reduzieren. Wenn wir zum Beispiel nur die Summe der ersten 5 Elemente ermitteln möchten, können wir die break-Anweisung folgendermaßen 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 ein Element des Arrays pro Iteration 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 Arrays in der letzten Iteration. Im Gegensatz zu for loop, bei dem über den Index auf die Elemente des Arrays zugegriffen wird, wird für jede Schleife die Iterationsvariable verwendet, um auf die Elemente zuzugreifen.
Bei der Verwendung jeder Schleife muss sorgfältig vorgegangen werden, da die Iterationsvariable den Wert des Array-Elements temporär speichert, da es "schreibgeschützt" ist. Durch Ändern seines Werts wird das ursprüngliche Array nicht geändert. Dies steht im Widerspruch zu einer Schleife, bei der durch Ändern eines Elements das ursprüngliche Array geändert wird.
Betrachten wir ein Beispiel, in dem wir jedem Element des Arrays 5 hinzufügen. Wir können den Unterschied in der Ausgabe im folgenden Beispielcode erkennen:
Für Schleife mit unterschiedlichem Zustand
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, die die Aktualisierung des ursprünglichen Arrays anzeigt
Foreach Schleife mit unterschiedlichem Zustand
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 an
Dinge, die Sie bei einer For-Each-Schleife in Java beachten sollten
- Die For-Each-Schleife in Java dient zum Durchlaufen von Array- / Collection-Elementen in einer Sequenz.
- For-Each-Schleife in Java verwendet die Iterationsvariable, um eine Sammlung oder ein Array von Elementen zu durchlaufen.
- Durch Ändern der Iterationsvariablen wird das ursprüngliche Array / die ursprüngliche Auflistung nicht geändert, da sie schreibgeschützt ist.
- Der Typ in der for-each-Schleife muss mit dem Typ der ursprünglichen Array- / Collection-Elemente übereinstimmen.
- Für jede Schleife muss nicht die Anzahl der Iterationen angegeben werden, da sie alle Elemente der Auflistung durchläuft.
- Es ist möglich, die for-each-Schleife mit einer break-Anweisung zu stoppen.
Empfohlene Artikel
Dies ist eine Anleitung zur For-Each-Schleife in Java. Hier diskutieren wir die For-Each-Schleife in Java mit ihrer Codeimplementierung auf verschiedene Arten, dh mit break-Anweisung und mit den verschiedenen Bedingungen. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -
- Array in Java drucken
- Schleifen in der Java-Programmierung
- While-Schleife in Java
- 3D-Arrays in Java
- Java-Bereitstellungstools
- 3D-Arrays in C ++
- Für Loop in C
- Arrays in der Java-Programmierung