# Kuidas kasutada for-each-tsükleid Java-s

For-each Java-tsükli abil saate **massiive ja kogusid** kiiremini ja turvalisemalt läbida, vältida vigu ja parandada koodi loetavust. Selles õpetuses selgitame for-each-meetodi struktuuri ja eeliseid üksikasjalikumalt ning näitame, kuidas tsüklit oma koodis kasutada.

## Milleks kasutatakse Java for-each-tsüklit?

For-each-tsüklit kasutatakse paljudes olukordades, kus Java-arendajad peavad töötama massiividega. Näiteks on tavaline kasutada seda massiivi konkreetsete elementide väljastamiseks või otsimiseks. For-each-tsüklit saab samuti kasutada ArrayList-ina rakendatud loendi elementide läbimiseks. Igas iteratsioonis saate teha **automaatseid manipuleerimisi** tavaliste Java-operaatoritega, 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 arvestamata jätmine tähendab, et väldite riski, et indeks jääb kehtiva vahemiku piiridest välja. For-each-tsükkel kasutab sisemiselt iteratorit, et kutsuda üles massiivi või loendi iga element ükshaaval. Iteraator loendab automaatselt 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õistlikum 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:

```Java
for (type item : array | collection) {
// code block
}
```

- `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äidetakse koodiblokk iga iteratsiooni puhul.

## Näited Java for-each-tsükli kasutamise kohta

Allpool näitame, kuidas kasutada for-each-meetodit **ekraanil kuvatava väljundi ja aritmeetiliste operatsioonide** abil.

### Elementide väljastamine konsooli

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

```Java
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
```

</div>Samuti on võimalik väljastada loendi elemendid analoogiliselt. Silmuse lähtekood jääb muutumatuks.

<div class="prism-container position-relative my-4" data-ctype="commonmark_content">```Java
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// list
ArrayList names = new ArrayList();
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);
}
}
}
```

</div>Iga nimekirjas oleva nime jaoks luuakse string:

<div class="prism-container position-relative my-4" data-ctype="commonmark_content">```Java
Sophie
Mia
Harrison
Elliot
Melissa
```

</div>### Massiivi või kogumi elementide summa arvutamine

Java meetod for-each lihtsustab aritmeetiliste operatsioonide, näiteks massiivi või loendi elementide liitmise, teostamist. Operaatorid on seotud muutujaga, mis toimib **iga elemendi asendusmärgina** silmuse koodiblokis.

<div class="prism-container position-relative my-4" data-ctype="commonmark_content">```Java
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);
}
}
```

</div>Massiivi numbrid liidetakse järjest muutujale `sum`, mis oli eelnevalt deklareeritud väljaspool tsüklit. Väljund on:

<div class="prism-container position-relative my-4" data-ctype="commonmark_content">```Java
Result = 42
```


This is a markdown version of: [https://www.ionos.com/et-ee/digitalguide/veebisaidid/veebiarendus/java-for-each-tsuekkel/](https://www.ionos.com/et-ee/digitalguide/veebisaidid/veebiarendus/java-for-each-tsuekkel/) for AI/LLM consumption.