Java for-each petlja ili poboljšana for petlja uvedena je od J2SE 5.0. Omogućuje alternativni pristup prelaženju niza ili zbirke u Javi. Uglavnom se koristi za prelazak niza ili elemenata zbirke. Prednost for-each petlje je u tome što eliminira mogućnost bugova i čini kod čitljivijim. Poznata je kao for-each petlja jer prelazi svaki element jedan po jedan.
Nedostatak poboljšane for petlje je taj što ne može prelaziti elemente obrnutim redoslijedom. Ovdje nemate mogućnost preskočiti nijedan element jer ne radi na bazi indeksa. Štoviše, ne možete prelaziti samo neparne ili parne elemente.
No, preporuča se koristiti Java for-each petlju za prelaženje elemenata niza i zbirke jer to čini kod čitljivim.
Prednosti
- Čini kôd čitljivijim.
- Otklanja mogućnost programskih pogrešaka.
Sintaksa
Sintaksa Javine for-each petlje sastoji se od data_type s varijablom nakon koje slijedi dvotočka (:), zatim polje ili zbirka.
for(data_type variable : array | collection){ //body of for-each loop }
Kako radi?
Java for-each petlja prolazi nizom ili zbirkom do posljednjeg elementa. Za svaki element pohranjuje element u varijablu i izvršava tijelo petlje for-each.
Primjer petlje for-each: obilazak elemenata niza
//An example of Java for-each loop class ForEachExample1{ public static void main(String args[]){ //declaring an array int arr[]={12,13,14,44}; //traversing the array with for-each loop for(int i:arr){ System.out.println(i); } } }Testirajte sada
Izlaz:
12 12 14 44
Pogledajmo još jednu Javinu for-each petlju u kojoj ćemo zbrojiti elemente.
class ForEachExample1{ public static void main(String args[]){ int arr[]={12,13,14,44}; int total=0; for(int i:arr){ total=total+i; } System.out.println('Total: '+total); } }
Izlaz:
Total: 83
Primjer petlje za svaki: obilazak elemenata zbirke
import java.util.*; class ForEachExample2{ public static void main(String args[]){ //Creating a list of elements ArrayList list=new ArrayList(); list.add('vimal'); list.add('sonoo'); list.add('ratan'); //traversing the list of elements using for-each loop for(String s:list){ System.out.println(s); } } }Testirajte sada
Izlaz:
vimal sonoo ratanpreuzmite ovaj primjer