Kuinka käyttää for-each-silmukoita Java-kielessä
For-each Java-silmukan avulla voit selata taulukoita ja kokoelmia nopeammin ja turvallisemmin, välttää virheitä ja parantaa koodin luettavuutta. Tässä opetusohjelmassa selitämme for-each-menetelmän rakenteen ja edut tarkemmin ja näytämme, miten silmukkaa käytetään koodissasi.
Mihin for-each Java-silmukkaa käytetään?
For-each-silmukkaa käytetään monissa tilanteissa, joissa Java-kehittäjät joutuvat työskentelemään taulukoiden kanssa. Yleinen käyttötarkoitus on esimerkiksi taulukon tiettyjen elementtien tulostaminen tai etsiminen. For-each-silmukkaa voidaan käyttää myös ArrayList-tyyppisenä toteutetun luettelon elementtien läpikäymiseen. Jokaisella läpikäynnillä voit suorittaa automaattisia manipulointeja tavallisilla Java-operaattoreilla ilman, että joudut kirjoittamaan erillistä lauseketta jokaiselle elementille.
Toisin kuin Java-kielessä käytettävässä for-silmukassa, for-each-silmukassa ei tarvitse ottaa huomioon taulukon indeksiä tai kokoa. Näiden seikkojen huomioimatta jättäminen tarkoittaa, että vältytään riskiltä, että indeksi olisi voimassa olevan alueen ulkopuolella. For-each-silmukka käyttää sisäisesti iteraattoria kutsumaan taulukon tai luettelon jokaisen elementin yksi kerrallaan. Iteraattori laskee automaattisesti taulukon tai luettelon läpi ja lopettaa silmukan, kun kaikki elementit on käyty läpi.
Jos kuitenkin tarvitset indeksin pääsyn seuraavan tai edellisen elementin muokkaamiseen, voi olla järkevämpää käyttää for-silmukkaa tai while-silmukkaa.
Mikä on for-each Java-silmukan syntaksi?
Java-kielessä for-each-silmukan perusrakenteet ovat seuraavat:
for (type item : array | collection) {
// code block
}Javaarray/collection: Taulukon tai kokoelman nimiitem: Jokainen taulukon tai kokoelman elementti on määritetty tälle muuttujalletype: Taulukon tai kokoelman tietotyyppi
Silmukan sisällä koodilohko suoritetaan jokaisella iteraatiolla.
Esimerkkejä for-each Java-silmukan käytöstä
Alla näytämme, kuinka for-each-menetelmää käytetään näytön tulostuksen ja aritmeettisten operaatioiden avulla.
Elementtien tulostaminen konsoliin
For-each-silmukan avulla voit näyttää taulukon tai kokoelman jokaisen elementin näytöllä.
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
MelissaJavaOn myös mahdollista tulostaa luettelon elementit analogisesti. Silmukan lähdekoodi pysyy muuttumattomana.
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);
}
}
}JavaJokaiselle nimelle luodaan merkkijono luettelosta:
Sophie
Mia
Harrison
Elliot
MelissaJavaTaulukon tai kokoelman elementtien summan laskeminen
Java-menetelmä for-each helpottaa aritmeettisten operaatioiden, kuten taulukon tai luettelon elementtien yhteenlaskemisen, suorittamista. Operaattorit on linkitetty muuttujaan, joka toimii paikanpitäjänä jokaiselle elementille silmukan koodilohkossa.
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);
}
}JavaTaulukon numerot lisätään järjestyksessä muuttujaan sum, joka on aiemmin määritelty silmukan ulkopuolella. Tulostus on:
Result = 42Java4e47bfbf2fbb477673aeb57481bd5f30