# Hvordan bruke for-each-løkker i Java

Med for-each Java-sløyfen kan du gå gjennom **matriser og samlinger** raskere og sikrere, unngå feil og forbedre lesbarheten til koden. I denne veiledningen forklarer vi strukturen og fordelene ved for-each-metoden mer detaljert og viser deg hvordan du bruker sløyfen i koden din.

## Hva brukes for-each Java-sløyfen til?

For-each-sløyfen brukes i mange scenarier der Java-utviklere må arbeide med matriser. En vanlig bruk er for eksempel å skrive ut eller søke etter bestemte elementer i en matrise. For-each-sløyfen kan også brukes til å iterere gjennom elementer i en liste implementert som en ArrayList. I hver iterasjon kan du utføre **automatiske manipulasjoner** med vanlige Java-operatorer uten å måtte skrive en egen setning for hvert element.

I motsetning til for-sløyfen i Java, **trenger** du **ikke å ta hensyn til indeksen eller størrelsen på arrayen** når du bruker for-each-sløyfen i Java. Når du ikke trenger å ta hensyn til disse aspektene, unngår du risikoen for at en indeks havner utenfor det gyldige området. For-each-sløyfen bruker internt en iterator til å hente opp hvert element i arrayen eller listen én etter én. Iteratoren teller automatisk gjennom arrayen eller listen og avslutter sløyfen når alle elementene er gjennomgått.

Hvis du imidlertid trenger å få tilgang til indeksen for å redigere neste eller forrige element, kan det være mer fornuftig å bruke **for-løkken** eller **while-løkken**.

## Hva er syntaksen til for-each Java-sløyfen?

Den grunnleggende syntaksen for en for-each-løkke i Java ser slik ut:

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

- `array/collection`: Navnet på matrisen eller samlingen
- `item`: Hvert element i matrisen eller samlingen tilordnes denne variabelen
- `type`: Datatypen til matrisen eller samlingen

Innenfor sløyfen utføres kodeblokken for hver iterasjon.

## Eksempler på hvordan du bruker for-each Java-sløyfen

Nedenfor viser vi hvordan du bruker for-each-metoden ved hjelp av **skjermutdata og aritmetiske operasjoner**.

### Skrive ut elementer til konsollen

Ved hjelp av for-each-sløyfen kan du vise hvert element i en matrise eller samling **på skjermen**.

```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>Det er også mulig å skrive ut elementene i en liste analogt. Kildekoden for sløyfen forblir uendret.

<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>Det genereres en streng for hvert navn fra listen:

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

</div>### Beregne summen av elementene i en matrise eller samling

Java-metoden for-each gjør det enkelt å utføre aritmetiske operasjoner, for eksempel å legge sammen elementene i en matrise eller liste. Operatørene er knyttet til variabelen som fungerer som **plassholder for hvert element** i kodeblokken til sløyfen.

<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>Tallene i matrisen legges til i rekkefølge til variabelen `sum`, som tidligere ble deklarert utenfor løkken. Utgangen er:

<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/nb-no/digitalguide/nettsteder/webutvikling/java-for-hver-loekke/](https://www.ionos.com/nb-no/digitalguide/nettsteder/webutvikling/java-for-hver-loekke/) for AI/LLM consumption.