Pomocou cyklu for-each v jazyku Java môžete prechádzať polia a zbierky rýchlejšie a bezpečnejšie, vyhnúť sa chybám a zlepšiť čitateľnosť kódu. V tomto tutoriáli podrobnejšie vysvetľujeme štruktúru a výhody metódy for-each a ukážeme vám, ako používať tento cyklus vo vašom kóde.

Na čo sa používa slučka for-each v jazyku Java?

Slučka for-each sa používa v mnohých scenároch, kde vývojári Java potrebujú pracovať s polami. Bežným použitím je napríklad výstup alebo vyhľadávanie konkrétnych prvkov poľa. Slučka for-each sa môže tiež použiť na iteráciu prvkov v zozname implementovanom ako ArrayList. V každej iterácii môžete vykonávať automatické manipulácie s bežnými operátormi Java bez nutnosti písať samostatný príkaz pre každý prvok.

Na rozdiel od cyklu for v Jave, keď používate cyklus for-each Java, nemusíte brať do úvahy index alebo veľkosť poľa. Keďže nemusíte brať do úvahy tieto aspekty, vyhnete sa riziku, že index bude mimo platného rozsahu. Cyklus for-each interne používa iterátor na vyvolanie každého prvku poľa alebo zoznamu jeden po druhom. Iterátor automaticky prechádza poľa alebo zoznamu a ukončí slučku, keď prejde všetky prvky.

Ak však potrebujete pristupovať k indexu, aby ste mohli upraviť nasledujúci alebo predchádzajúci prvok, môže byť rozumnejšie použiť cyklus for alebo cyklus while.

Aká je syntax for-each slučky v jazyku Java?

Základná syntax for-each slučky v Jave vyzerá takto:

for (type item : array | collection) {
// code block
}
Java
  • array/collection: Názov poľa alebo kolekcie
  • item: Každý prvok poľa alebo kolekcie je priradený k tejto premennej
  • type: Datový typ poľa alebo kolekcie

Vnútri slučky sa blok kódu vykonáva pri každej iterácii.

Príklady použitia cyklu for-each v jazyku Java

Nižšie ukážeme, ako používať metódu for-each pomocou výstupu na obrazovke a aritmetických operácií.

Výstup prvkov do konzoly

Pomocou cyklu for-each môžete na obrazovke zobraziť každý prvok poľa alebo kolekcie.

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 tiež možné analogicky vypisovať prvky zoznamu. Zdrojový kód slučky zostáva nezmenený.

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

Pre každé meno zo zoznamu sa vygeneruje reťazec:

Sophie
Mia
Harrison
Elliot
Melissa
Java

Výpočet súčtu prvkov v poli alebo kolekcii

Metóda for-each v jazyku Java uľahčuje vykonávanie aritmetických operácií, ako je sčítanie prvkov v poli alebo zozname. Operátory sú prepojené s premennou, ktorá slúži ako zástupný symbol pre každý prvok v bloku kódu sluč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 poľa sa postupne pridávajú do premennej sum, ktorá bola predtým deklarovaná mimo slučky. Výstup je:

Result = 42
Java
Prejsť na hlavné menu