Jak používat smyčky for-each v Javě
Pomocí smyčky for-each v jazyce Java můžete procházet pole a kolekce rychleji a bezpečněji, vyhnout se chybám a zlepšit čitelnost kódu. V tomto tutoriálu podrobněji vysvětlíme strukturu a výhody metody for-each a ukážeme vám, jak smyčku použít ve svém kódu.
K čemu se používá smyčka for-each v jazyce Java?
Smyčka for-each se používá v mnoha scénářích, kdy vývojáři Java potřebují pracovat s poli. Častým použitím je například výstup nebo vyhledávání konkrétních prvků pole. Smyčku for-each lze rovněž použít k iterování prvků v seznamu implementovaném jako ArrayList. V každé iteraci můžete provádět automatické manipulace pomocí běžných operátorů Java, aniž byste museli psát samostatný příkaz pro každý prvek.
Na rozdíl od smyčky for v Javě nemusíte při použití smyčky for-each v Javě brát v úvahu index nebo velikost pole. Díky tomu, že nemusíte tyto aspekty zohledňovat, se vyhnete riziku, že index bude mimo platný rozsah. Smyčka for-each interně používá iterátor k vyvolání každého prvku pole nebo seznamu jeden po druhém. Iterátor automaticky prochází pole nebo seznam a ukončí smyčku, když jsou prošly všechny prvky.
Pokud však potřebujete přistupovat k indexu, abyste mohli upravit následující nebo předchozí prvek, může být vhodnější použít smyčku for nebo smyčku while.
Jaká je syntaxe smyčky for-each v jazyce Java?
Základní syntaxe smyčky for-each v Javě vypadá takto:
for (type item : array | collection) {
// code block
}Javaarray/collection: Název pole nebo kolekceitem: Každý prvek pole nebo kolekce je přiřazen této proměnnétype: Datový typ pole nebo kolekce
Uvnitř smyčky se blok kódu provádí pro každou iteraci.
Příklady použití smyčky for-each v jazyce Java
Níže ukážeme, jak používat metodu for-each pomocí výstupu na obrazovku a aritmetických operací.
Výstup prvků na konzoli
Pomocí smyčky for-each můžete na obrazovce zobrazit každý prvek pole nebo kolekce.
class Main {
public static void main(String[] args) {
// array
String[] names = {"Sophie", "Mia", "Harrison", "Elliot", "Melissa"};
// for each loop
for (String name: names) {
System.out.println(name);
}
}
}
In the console, we get the output:
```Java
Sophie
Mia
Harrison
Elliot
MelissaJavaJe také možné analogicky vypsat prvky seznamu. Zdrojový kód smyčky zůstává nezměněn.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// list
ArrayList<String> names = new ArrayList<String>();
names.add( "Sophie" );
names.add( "Mia" );
names.add( "Harrison" );
names.add( "Elliot" );
names.add( "Melissa" );
// for each loop
for(String name: names){
System.out.println(name);
}
}
}JavaPro každý název ze seznamu se vygeneruje řetězec:
Sophie
Mia
Harrison
Elliot
MelissaJavaVýpočet součtu prvků v poli nebo kolekci
Metoda for-each v jazyce Java usnadňuje provádění aritmetických operací, jako je sčítání prvků v poli nebo seznamu. Operátory jsou propojeny s proměnnou, která slouží jako zástupný symbol pro každý prvek v bloku kódu smyčky.
class Main {
public static void main(String[] args) {
// array
int[] numbers = {10, 34, 7, 19, -28};
int sum = 0;
// addition
for (int number: numbers) {
sum += number;
}
System.out.println("Result = " + sum);
}
}JavaČísla pole se postupně přidávají do proměnné sum, která byla předtím deklarována mimo smyčku. Výstup je:
Result = 42Java