I denne opplæringen vil vi lære om Java for hver løkke og dens forskjell med for løkke ved hjelp av eksempler.
I Java brukes for hver sløyfe til å iterere gjennom elementer i matriser og samlinger (som ArrayList). Det er også kjent som forbedret for loop.
for hver Loop Sytnax
Syntaksen til Java for hver sløyfe er:
for(dataType item : array) (… )
Her,
- array - en matrise eller en samling
- element - hvert element i array / samling er tilordnet denne variabelen
- dataType - datatypen til matrisen / samlingen
Eksempel 1: Print Array Elements
// print array elements class Main ( public static void main(String() args) ( // create an array int() numbers = (3, 9, 5, -5); // for each loop for (int number: numbers) ( System.out.println(number); ) ) )
Produksjon
3 9 5 -5
Her har vi brukt for hver sløyfe til å skrive ut hvert element i tallrammen en etter en.
- I den første iterasjonen vil elementet være 3.
- I den andre iterasjonen blir varen 9.
- I den tredje iterasjonen vil varen være 5.
- I den fjerde iterasjonen vil varen være -5.
Eksempel 2: Summen av matriseelementer
// Calculate the sum of all elements of an array class Main ( public static void main(String() args) ( // an array of numbers int() numbers = (3, 4, 5, -5, 0, 12); int sum = 0; // iterating through each element of the array for (int number: numbers) ( sum += number; ) System.out.println("Sum = " + sum); ) )
Utgang :
Sum = 19
I programmet ovenfor ser kjøringen av for each
sløyfen ut som:
Iterasjon | Variabler |
---|---|
1 | tall = 3 sum = 0 + 3 = 3 |
2 | tall = 4 sum = 3 + 4 = 7 |
3 | tall = 5 sum = 7 + 5 = 12 |
4 | tall = -5 sum = 12 + (-5) = 7 |
5 | tall = 0 sum = 7 + 0 = 7 |
6 | tall = 12 sum = 7 + 12 = 19 |
Som vi kan se, har vi lagt til hvert element i tallmatrisen til sumvariabelen i hver iterasjon av sløyfen.
for sløyfe Vs for hver sløyfe
La oss se hvordan en for-each
sløyfe er forskjellig fra en vanlig Java for loop.
1. Bruke for loop
class Main ( public static void main(String() args) ( char() vowels = ('a', 'e', 'i', 'o', 'u'); // iterating through an array using a for loop for (int i = 0; i < vowels.length; ++ i) ( System.out.println(vowels(i)); ) ) )
Utgang :
aeiou
2. Bruk for hver løkke
class Main ( public static void main(String() args) ( char() vowels = ('a', 'e', 'i', 'o', 'u'); // iterating through an array using the for-each loop for (char item: vowels) ( System.out.println(item); ) ) )
Utgang :
aeiou
Her er utgangen fra begge programmene den samme. Imidlertid er for-hver løkke lettere å skrive og forstå.
Dette er grunnen til at for-hver sløyfe foretrekkes fremfor for- sløyfen når du arbeider med matriser og samlinger.