W tym samouczku nauczymy się na przykładach pętli for-each w Javie i jej różnic w stosunku do pętli for.
W Javie pętla for-each służy do iteracji po elementach tablic i kolekcji (takich jak ArrayList). Jest również znany jako ulepszona pętla for.
pętla for-each Sytnax
Składnia pętli for-each Java jest następująca:
for(dataType item : array) (… )
Tutaj,
- tablica - tablica lub kolekcja
- pozycja - każda pozycja tablicy / kolekcji jest przypisana do tej zmiennej
- dataType - typ danych tablicy / kolekcji
Przykład 1: Drukowanie elementów tablicy
// 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); ) ) )
Wynik
3 9 5 -5
Tutaj użyliśmy pętli for-each do wydrukowania każdego elementu tablicy numbers jeden po drugim.
- W pierwszej iteracji element będzie miał wartość 3.
- W drugiej iteracji będzie 9.
- W trzeciej iteracji pozycja będzie miała wartość 5.
- W czwartej iteracji wartość przedmiotu będzie wynosić -5.
Przykład 2: Suma elementów tablicy
// 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); ) )
Wyjście :
Suma = 19
W powyższym programie wykonanie for each
pętli wygląda następująco:
Iteracja | Zmienne |
---|---|
1 | liczba = 3 suma = 0 + 3 = 3 |
2 | liczba = 4 suma = 3 + 4 = 7 |
3 | liczba = 5 suma = 7 + 5 = 12 |
4 | liczba = -5 suma = 12 + (-5) = 7 |
5 | liczba = 0 suma = 7 + 0 = 7 |
6 | liczba = 12 suma = 7 + 12 = 19 |
Jak widać, dodaliśmy każdy element tablicy liczb do zmiennej sumarycznej w każdej iteracji pętli.
for loop Vs for-each loop
Zobaczmy, czym for-each
różni się pętla od zwykłej pętli for w Javie.
1. Korzystanie z pętli for
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)); ) ) )
Wyjście :
aeiou
2. Korzystanie z pętli for-each
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); ) ) )
Wyjście :
aeiou
Tutaj dane wyjściowe obu programów są takie same. Jednak pętla for-each jest łatwiejsza do napisania i zrozumienia.
Dlatego podczas pracy z tablicami i kolekcjami preferowana jest pętla for-each zamiast pętli for .