Ako používať cykly for-each v Jave
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
}Javaarray/collection: Názov poľa alebo kolekcieitem: Každý prvok poľa alebo kolekcie je priradený k tejto premennejtype: 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
MelissaJavaJe 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);
}
}
}JavaPre každé meno zo zoznamu sa vygeneruje reťazec:
Sophie
Mia
Harrison
Elliot
MelissaJavaVý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 = 42Java