I denne vejledning lærer vi om Java for hver loop og dens forskel med for loop ved hjælp af eksempler.
I Java bruges for hver sløjfe til at gentage gennem elementer i arrays og samlinger (som ArrayList). Det er også kendt som forbedret for loop.
for hver Loop Sytnax
Syntaksen for Java for hver loop er:
for(dataType item : array) (… )
Her,
- array - en matrix eller en samling
- element - hvert element i array / samling er tildelt denne variabel
- dataType - datatypen for arrayet / samlingen
Eksempel 1: Udskriv matrixelementer
// 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); ) ) )
Produktion
3 9 5 -5
Her har vi brugt for-hver sløjfe til at udskrive hvert element i talrammen en efter en.
- I den første iteration vil elementet være 3.
- I den anden iteration vil elementet være 9.
- I den tredje iteration er varen 5.
- I den fjerde iteration vil varen være -5.
Eksempel 2: Summen af matrixelementer
// 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); ) )
Output :
Sum = 19
I ovenstående program ser udførelsen af for each
sløjfen ud som:
Iteration | Variabler |
---|---|
1 | antal = 3 sum = 0 + 3 = 3 |
2 | nummer = 4 sum = 3 + 4 = 7 |
3 | antal = 5 sum = 7 + 5 = 12 |
4 | antal = -5 sum = 12 + (-5) = 7 |
5 | antal = 0 sum = 7 + 0 = 7 |
6 | tal = 12 sum = 7 + 12 = 19 |
Som vi kan se, har vi tilføjet hvert element i talrammen til sumvariablen i hver iteration af sløjfen.
for loop Vs for-hver loop
Lad os se, hvordan en for-each
loop er forskellig fra en almindelig Java for loop.
1. Brug af 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)); ) ) )
Output :
aeiou
2. Brug af 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); ) ) )
Output :
aeiou
Her er output fra begge programmer det samme. For -hver løkke er dog lettere at skrive og forstå.
Derfor foretrækkes for-hver løkke frem for for- løkken, når man arbejder med arrays og samlinger.