I den här handledningen lär vi oss om Java för varje slinga och dess skillnad med för slinga med hjälp av exempel.
I Java används för varje slinga för att iterera genom element i matriser och samlingar (som ArrayList). Det är också känt som den förbättrade slingan.
för varje loop Sytnax
Syntaxen för Java för varje slinga är:
for(dataType item : array) (… )
Här,
- array - en array eller en samling
- artikel - varje artikel i array / samling tilldelas denna variabel
- dataType - datatypen för arrayen / samlingen
Exempel 1: Skriv ut matriselement
// 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
Här har vi använt för varje slinga för att skriva ut varje element i nummrarna en efter en.
- I den första iterationen kommer artikeln att vara 3.
- I den andra iterationen kommer artikeln att vara 9.
- I den tredje iterationen kommer artikeln att vara 5.
- I den fjärde iterationen kommer artikeln att vara -5.
Exempel 2: Summan av matriselement
// 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); ) )
Utgång :
Summa = 19
I ovanstående program for each
ser körningen av slingan ut som:
Iteration | Variabler |
---|---|
1 | antal = 3 summa = 0 + 3 = 3 |
2 | antal = 4 summa = 3 + 4 = 7 |
3 | antal = 5 summa = 7 + 5 = 12 |
4 | antal = -5 summa = 12 + (-5) = 7 |
5 | antal = 0 summa = 7 + 0 = 7 |
6 | antal = 12 summa = 7 + 12 = 19 |
Som vi kan se har vi lagt till varje element i talmatrisen till sumvariabeln i varje iteration av slingan.
för slinga Vs för varje slinga
Låt oss se hur en for-each
slinga skiljer sig från en vanlig Java för loop.
1. Använda för 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)); ) ) )
Utgång :
aeiou
2. Använd för varje slinga
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); ) ) )
Utgång :
aeiou
Här är båda programmens resultat samma. Men för varje slinga är det lättare att skriva och förstå.
Det är därför som för varje slinga föredras framför for- slingan när man arbetar med matriser och samlingar.