U ovom uputstvu uz primjere ćemo naučiti o Javi za svaku petlju i njezinu razliku u petlji for.
U Javi se petlja za svaku koristi za iteraciju kroz elemente nizova i kolekcija (poput ArrayList). Također je poznat kao poboljšana petlja for.
za-svaku petlju Sytnax
Sintaksa Java -a za svaku petlju je:
for(dataType item : array) (… )
Ovdje,
- niz - niz ili zbirka
- stavka - ovoj je varijabli dodijeljena svaka stavka niza / kolekcije
- dataType - vrsta podataka niza / kolekcije
Primjer 1: Ispis elemenata niza
// 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); ) ) )
Izlaz
3 9 5 -5
Ovdje smo koristili petlju for-each za ispis svakog elementa niza brojeva jedan po jedan.
- U prvoj iteraciji stavka će biti 3.
- U drugoj iteraciji stavka će biti 9.
- U trećoj iteraciji stavka će biti 5.
- U četvrtoj iteraciji stavka će biti -5.
Primjer 2: Zbir elemenata niza
// 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); ) )
Izlaz :
Zbroj = 19
U gornjem programu, izvršavanje for each
petlje izgleda kao:
Iteracija | Varijable |
---|---|
1 | broj = 3 zbroj = 0 + 3 = 3 |
2 | broj = 4 zbroj = 3 + 4 = 7 |
3 | broj = 5 zbroj = 7 + 5 = 12 |
4 | broj = -5 zbroj = 12 + (-5) = 7 |
5 | broj = 0 zbroj = 7 + 0 = 7 |
6 | broj = 12 zbroj = 7 + 12 = 19 |
Kao što vidimo, dodali smo svaki element niza brojeva u varijablu zbroja u svakoj iteraciji petlje.
za petlju Vs za-svaku petlju
Pogledajmo kako se for-each
petlja razlikuje od uobičajene petlje Java for.
1. Korištenje for petlje
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)); ) ) )
Izlaz :
aeiou
2. Korištenje za svaku petlju
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); ) ) )
Izlaz :
aeiou
Ovdje su rezultati oba programa jednaki. Međutim, petlju for-each lakše je napisati i razumjeti.
To je razlog zašto je petlja za svaku poželjna u odnosu na petlju for kada se radi s nizovima i kolekcijama.