V tomto tutoriálu se pomocí příkladů dozvíme o smyčce Java for-each a jejím rozdílu ve smyčce for.
V Javě se smyčka for-each používá k iteraci prvky polí a sbírek (jako ArrayList). Je také znám jako vylepšená smyčka for.
pro každou smyčku Sytnax
Syntaxe smyčky Java for-each je:
for(dataType item : array) (… )
Tady,
- pole - pole nebo sbírka
- item - této položce je přiřazena každá položka pole / kolekce
- dataType - datový typ pole / kolekce
Příklad 1: Tisk prvků pole
// 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); ) ) )
Výstup
3 9 5 -5
Zde jsme použili smyčku for-each k tisku každého prvku pole čísel jeden po druhém.
- V první iteraci bude položka 3.
- Ve druhé iteraci bude položka 9.
- Ve třetí iteraci bude položka 5.
- Ve čtvrté iteraci bude položka -5.
Příklad 2: Součet prvků pole
// 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); ) )
Výstup :
Součet = 19
Ve výše uvedeném programu for each
vypadá provedení smyčky takto:
Opakování | Proměnné |
---|---|
1 | číslo = 3 součet = 0 + 3 = 3 |
2 | číslo = 4 součet = 3 + 4 = 7 |
3 | číslo = 5 součet = 7 + 5 = 12 |
4 | číslo = -5 součet = 12 + (-5) = 7 |
5 | číslo = 0 součet = 7 + 0 = 7 |
6 | číslo = 12 součet = 7 + 12 = 19 |
Jak vidíme, přidali jsme každý prvek pole čísel do proměnné součet v každé iteraci smyčky.
pro smyčku V pro každou smyčku
Podívejme se, jak se for-each
smyčka liší od běžné smyčky Java for.
1. Použití pro smyčku
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)); ) ) )
Výstup :
aeiou
2. Použití pro každou smyčku
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); ) ) )
Výstup :
aeiou
Zde je výstup obou programů stejný. Nicméně, for-each smyčky je jednodušší psát a rozumět.
To je důvod, proč se při práci s poli a kolekcemi dává přednost smyčce for-each před smyčkou for .