In deze tutorial zullen we met behulp van voorbeelden leren over de Java for-each-lus en het verschil met for-lus.
In Java wordt de for-each- lus gebruikt om elementen van arrays en verzamelingen (zoals ArrayList) te doorlopen. Het is ook bekend als de verbeterde for-lus.
voor elke lus Sytnax
De syntaxis van de Java for-each- lus is:
for(dataType item : array) (… )
Hier,
- array - een array of een verzameling
- item - elk item van de array / collectie wordt aan deze variabele toegewezen
- dataType - het gegevenstype van de array / verzameling
Voorbeeld 1: Array-elementen afdrukken
// 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); ) ) )
Uitvoer
3 9 5-5
Hier hebben we de for-each-lus gebruikt om elk element van de getallenreeks één voor één af te drukken.
- In de eerste iteratie is het item 3.
- In de tweede iteratie is het item 9.
- In de derde iteratie is het item 5.
- In de vierde iteratie is het item -5.
Voorbeeld 2: som van array-elementen
// 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); ) )
Uitgang :
Som = 19
In het bovenstaande programma ziet de uitvoering van de for each
lus er als volgt uit:
Iteratie | Variabelen |
---|---|
1 | getal = 3 som = 0 + 3 = 3 |
2 | getal = 4 som = 3 + 4 = 7 |
3 | getal = 5 som = 7 + 5 = 12 |
4 | aantal = -5 som = 12 + (-5) = 7 |
5 | getal = 0 som = 7 + 0 = 7 |
6 | aantal = 12 som = 7 + 12 = 19 |
Zoals we kunnen zien, hebben we elk element van de getallenreeks toegevoegd aan de somvariabele in elke iteratie van de lus.
voor lus Vs voor elke lus
Laten we eens kijken hoe een for-each
lus verschilt van een gewone Java for-lus.
1. Gebruik voor lus
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)); ) ) )
Uitgang :
aeiou
2. Gebruik voor elke lus
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); ) ) )
Uitgang :
aeiou
Hier is de output van beide programma's hetzelfde. De for-each- lus is echter gemakkelijker te schrijven en te begrijpen.
Dit is de reden waarom de for-each- lus de voorkeur heeft boven de for- lus bij het werken met arrays en verzamelingen.