For-each Java-tsükli abil saate massiive ja kogusid kiiremini ja tur­va­li­se­malt läbida, vältida vigu ja parandada koodi loetavust. Selles õpetuses selgitame for-each-meetodi struk­tuuri ja eeliseid ük­sik­as­ja­li­ku­malt ning näitame, kuidas tsüklit oma koodis kasutada.

Milleks ka­su­ta­takse Java for-each-tsüklit?

For-each-tsüklit ka­su­ta­takse paljudes olu­kor­da­des, kus Java-arendajad peavad töötama mas­sii­vi­dega. Näiteks on tavaline kasutada seda massiivi konk­reet­sete ele­men­tide väl­jas­ta­miseks või ot­si­miseks. For-each-tsüklit saab samuti kasutada ArrayList-ina ra­ken­da­tud loendi ele­men­tide lä­bi­miseks. Igas ite­rat­sioo­nis saate teha au­to­maat­seid ma­ni­pu­lee­ri­misi tavaliste Java-ope­raa­to­ri­tega, ilma et peaksite iga elemendi jaoks eraldi avaldust kirjutama.

Erinevalt Java for-tsüklist ei pea Java for-each-tsüklit kasutades arvestama massiivi indeksit ega suurust. Nende aspektide ar­ves­ta­mata jätmine tähendab, et väldite riski, et indeks jääb kehtiva vahemiku piiridest välja. For-each-tsükkel kasutab si­se­mi­selt ite­ra­to­rit, et kutsuda üles massiivi või loendi iga element ükshaaval. Iteraator loendab au­to­maat­selt massiivi või nimekirja läbi ja lõpetab tsükli, kui kõik elemendid on läbi käidud.

Kui aga peate indeksile juurde pääsema, et muuta järgmist või eelmist elementi, võib olla mõist­li­kum kasutada for- või while-tsüklit.

Mis on Java for-each-tsükli süntaks?

Java keeles for-each tsükli põhiline süntaks näeb välja järgmine:

for (type item : array | collection) {
// code block
}
Java
  • array/collection: Massiivi või kogumi nimi
  • item: Massiivi või kogumi iga element on määratud sellele muutujale
  • type: Massiivi või kogumi andmetüüp

Silmuses täi­de­takse koo­dib­lokk iga ite­rat­siooni puhul.

Näited Java for-each-tsükli ka­su­ta­mise kohta

Allpool näitame, kuidas kasutada for-each-meetodit ekraanil kuvatava väljundi ja arit­mee­ti­liste ope­rat­sioo­nide abil.

Ele­men­tide väl­jas­ta­mine konsooli

For-each-tsükli abil saate kuvada ekraanil massiivi või kogumi iga elemendi.

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

Samuti on võimalik väl­jas­tada loendi elemendid ana­loo­gi­li­selt. Silmuse lähtekood jääb muu­tu­ma­tuks.

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

Iga ni­me­kir­jas oleva nime jaoks luuakse string:

Sophie
Mia
Harrison
Elliot
Melissa
Java

Massiivi või kogumi ele­men­tide summa ar­vu­ta­mine

Java meetod for-each liht­sus­tab arit­mee­ti­liste ope­rat­sioo­nide, näiteks massiivi või loendi ele­men­tide liitmise, teos­ta­mist. Ope­raa­to­rid on seotud muutujaga, mis toimib iga elemendi asen­dus­mär­gina silmuse koo­dib­lo­kis.

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

Massiivi numbrid lii­de­takse järjest muutujale sum, mis oli eelnevalt dek­la­ree­ri­tud väl­jas­pool tsüklit. Väljund on:

Result = 42
Java

22521435b1ac7a57243924ad4925f3b8

4e3f99762c00e5fd885e501519891687

e7dcb55429a1ad05a2d26d997b010049

03a997ae1adf78a8b72f58f1bb60ea2d

Go to Main Menu