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
}
Java
  • array/collection: Název pole nebo kolekce
  • item: 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
Melissa
Java

Je 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);
        }
    }
}
Java

Pro každý název ze seznamu se vygeneruje řetězec:

Sophie
Mia
Harrison
Elliot
Melissa
Java

Vý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 = 42
Java
Přejít do hlavního menu