# Sådan bruges for-each-sløjfer i Java

Med for-each Java-sløjfen kan du gennemgå **arrays og samlinger** hurtigere og mere sikkert, undgå fejl og forbedre kodens læsbarhed. I denne vejledning forklarer vi strukturen og fordelene ved for-each-metoden mere detaljeret og viser dig, hvordan du bruger sløjfen i din kode.

## Hvad bruges for-each Java-sløjfen til?

For-each-sløjfen bruges i mange scenarier, hvor Java-udviklere skal arbejde med arrays. Et almindeligt anvendelsesformål er f.eks. at udskrive eller søge efter bestemte elementer i en array. For-each-sløjfen kan ligeledes bruges til at gennemløbe elementer i en liste, der er implementeret som en ArrayList. I hver iteration kan du udføre **automatiske manipulationer** med almindelige Java-operatorer uden at skulle skrive en separat sætning for hvert element.

I modsætning til for-løkken i Java **behøver** du **ikke tage højde for arrayets indeks eller størrelse**, når du bruger for-each-løkken i Java. Da du ikke behøver at tage højde for disse aspekter, undgår du risikoen for, at et indeks ligger uden for det gyldige interval. For-each-løkken bruger internt en iterator til at kalde hvert element i arrayet eller listen op én efter én. Iteratoren tæller automatisk gennem arrayet eller listen og afslutter sløjfen, når alle elementer er gennemgået.

Hvis du imidlertid har brug for at få adgang til indekset for at redigere det næste eller forrige element, kan det være mere fornuftigt at bruge **for-løkken** eller **while-løkken**.

## Hvad er syntaksen for for-each Java-sløjfen?

Den grundlæggende syntaks for en for-each-loop i Java ser således ud:

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

- `array/collection`: Navnet på arrayet eller samlingen
- `item`: Hvert element i arrayet eller samlingen tildeles denne variabel
- `type`: Datatype for arrayet eller samlingen

Inden for løkken udføres kodeblokken for hver iteration.

## Eksempler på, hvordan man bruger for-each Java-sløjfen

Nedenfor viser vi, hvordan man bruger for-each-metoden ved hjælp af **skærmoutput og aritmetiske operationer**.

### Udskrivning af elementer til konsollen

Ved hjælp af for-each-sløjfen kan du vise hvert element i en matrix eller samling **på skærmen**.

```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å muligt at udskrive elementerne i en liste analogt. Kildekoden for løkken forbliver uændret.

<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>Der genereres en streng for hvert navn på listen:

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

</div>### Beregning af summen af elementer i en matrix eller samling

Java-metoden for-each gør det nemt at udføre aritmetiske operationer, såsom at tilføje elementer i en matrix eller liste. Operatører er knyttet til den variabel, der fungerer som **pladsholder for hvert element** inden for loopens kodeblok.

<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 arrayet lægges i rækkefølge til variablen `sum`, som tidligere blev deklareret uden for løkken. Outputtet 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/da-dk/digitalguide/websteder/webudvikling/java-for-each-loop/](https://www.ionos.com/da-dk/digitalguide/websteder/webudvikling/java-for-each-loop/) for AI/LLM consumption.