Kaip naudoti „for-each“ ciklus Java kalboje
Naudodami „for-each“ Java ciklą, galite greičiau ir saugiau pereiti per masyvus ir kolekcijas, išvengti klaidų ir pagerinti kodo skaitomumą. Šiame pamokymuose išsamiau paaiškiname „for-each“ metodo struktūrą ir privalumus bei parodome, kaip naudoti šį ciklą savo kode.
Kam naudojama Java ciklo „for-each“ funkcija?
For-each ciklas naudojamas daugelyje scenarijų, kai Java programuotojai turi dirbti su masyvais. Pavyzdžiui, dažnai jis naudojamas norint išvesti arba ieškoti konkrečių masyvo elementų. For-each ciklas taip pat gali būti naudojamas norint kartoti elementus sąraše, įgyvendintame kaip ArrayList. Kiekvienoje iteracijoje galite atlikti automatinius manipuliavimus su įprastais Java operatoriais, nereikalaudami rašyti atskiro teiginio kiekvienam elementui.
Priešingai nei Java kalbos for ciklas, naudojant Java for-each ciklą nereikia atsižvelgti į masyvo indeksą ar dydį. Tai reiškia, kad išvengiate rizikos, jog indeksas bus už galiojančio intervalo ribų. For-each ciklas viduje naudoja iteratorių, kad vienas po kito iškviestų kiekvieną masyvo ar sąrašo elementą. Iteratorius automatiškai perskaičiuoja masyvą arba sąrašą ir užbaigia ciklą, kai visi elementai yra peržiūrėti.
Tačiau jei jums reikia pasiekti indeksą, kad galėtumėte redaguoti kitą arba ankstesnį elementą, gali būti protingiau naudoti for arba while ciklą.
Kokia yra Java ciklo „for-each“ sintaksė?
Pagrindinė „for-each“ ciklo sintaksė Java kalboje atrodo taip:
for (type item : array | collection) {
// code block
}Javaarray/collection: Masyvo arba kolekcijos pavadinimasitem: Kiekvienas masyvo arba kolekcijos elementas priskiriamas šiai kintamajaitype: Masyvo arba kolekcijos duomenų tipas
Ciklo viduje kodas vykdomas kiekvieną kartą.
Pavyzdžiai, kaip naudoti „for-each“ Java ciklą
Toliau parodysime, kaip naudoti „for-each“ metodą, naudojant ekrano išvestį ir aritmetines operacijas.
Elementų išvedimas į konsolę
Naudodami for-each ciklą, galite ekrane rodyti kiekvieną masyvo ar kolekcijos elementą.
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
MelissaJavaTaip pat galima analogiškai išvesti sąrašo elementus. Kilpos šaltinio kodas lieka nepakitęs.
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);
}
}
}JavaKiekvienam vardui iš sąrašo sukuriama eilutė:
Sophie
Mia
Harrison
Elliot
MelissaJavaElementų masyve arba kolekcijoje esančių elementų sumos skaičiavimas
Java metodas „for-each“ palengvina aritmetinių operacijų, pvz., masyvo ar sąrašo elementų sudėties, atlikimą. Operatoriai yra susieti su kintamuoju, kuris veikia kaip kiekvieno elemento vietos laikiklis kilpos kodų bloke.
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);
}
}JavaMasyvo skaičiai yra nuosekliai pridedami prie kintamojo sum, kuris buvo anksčiau deklaruotas už kilpos ribų. Rezultatas yra toks:
Result = 42Java22521435b1ac7a57243924ad4925f3b8
4e3f99762c00e5fd885e501519891687
e7dcb55429a1ad05a2d26d997b010049
03a997ae1adf78a8b72f58f1bb60ea2d