V tej vadnici bomo s pomočjo primerov spoznali Javo za vsako zanko in njeno razliko v zanki for.
V Javi se zanka for-each uporablja za iteracijo elementov nizov in zbirk (na primer ArrayList). Znana je tudi kot izboljšana zanka for.
za vsako zanko Sytnax
Sintaksa Java za vsako zanko je:
for(dataType item : array) (… )
Tukaj,
- matrika - matrika ali zbirka
- item - tej postavki je dodeljen vsak element polja / zbirke
- dataType - podatkovni tip polja / zbirke
Primer 1: Natisni elemente polja
// 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); ) ) )
Izhod
3 9 5 -5
Tu smo zanko for-each uporabili za tiskanje posameznega elementa matrike števil.
- V prvi ponovitvi bo postavka 3.
- V drugi ponovitvi bo postavka 9.
- V tretji ponovitvi bo postavka 5.
- V četrti ponovitvi bo postavka -5.
Primer 2: Vsota elementov matrike
// 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); ) )
Izhod :
Vsota = 19
V zgornjem programu je izvedba for each
zanke videti tako:
Ponavljanje | Spremenljivke |
---|---|
1. | število = 3 vsota = 0 + 3 = 3 |
2. | število = 4 vsota = 3 + 4 = 7 |
3. | število = 5 vsota = 7 + 5 = 12 |
4. | število = -5 vsota = 12 + (-5) = 7 |
5. | število = 0 vsota = 7 + 0 = 7 |
6. | število = 12 vsota = 7 + 12 = 19 |
Kot lahko vidimo, smo v vsako ponovitev zanke spremenljivki vsote dodali vsak element matrike števil.
za zanko V za vsako zanko
Poglejmo, kako se for-each
zanka razlikuje od običajne zanke Java for.
1. Uporaba for zanke
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)); ) ) )
Izhod :
samoglasniki
2. Uporaba za vsako zanko
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); ) ) )
Izhod :
samoglasniki
Tu je izhod obeh programov enak. Vendar je zanko za vsako lažje napisati in razumeti.
Zato je zanka za vsako prednost pred zanko for pri delu z nizi in zbirkami.