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 vej­led­ning forklarer vi struk­tu­ren og fordelene ved for-each-metoden mere de­tal­je­ret 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 al­min­de­ligt an­ven­del­ses­for­mål er f.eks. at udskrive eller søge efter bestemte elementer i en array. For-each-sløjfen kan ligeledes bruges til at gen­nem­lø­be elementer i en liste, der er im­ple­men­te­ret som en ArrayList. I hver iteration kan du udføre au­to­ma­ti­ske ma­ni­pu­la­tio­ner med al­min­de­li­ge Java-ope­ra­to­rer uden at skulle skrive en separat sætning for hvert element.

I mod­sæt­ning 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. Ite­ra­to­ren tæller au­to­ma­tisk gennem arrayet eller listen og afslutter sløjfen, når alle elementer er gen­nem­gå­et.

Hvis du imid­ler­tid har brug for at få adgang til indekset for at redigere det næste eller forrige element, kan det være mere for­nuf­tigt at bruge for-løkken eller while-løkken.

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

Den grund­læg­gen­de syntaks for en for-each-loop i Java ser således ud:

for (type item : array | collection) {
// code block
}
Java
  • 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 ko­de­blok­ken 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ærmout­put og arit­me­ti­ske ope­ra­tio­ner.

Ud­skriv­ning 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.

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

Det er også muligt at udskrive ele­men­ter­ne i en liste analogt. Kil­de­ko­den for løkken forbliver uændret.

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

Der genereres en streng for hvert navn på listen:

Sophie
Mia
Harrison
Elliot
Melissa
Java

Beregning af summen af elementer i en matrix eller samling

Java-metoden for-each gør det nemt at udføre arit­me­ti­ske ope­ra­tio­ner, såsom at tilføje elementer i en matrix eller liste. Ope­ra­tø­rer er knyttet til den variabel, der fungerer som plads­hol­der for hvert element inden for loopens kodeblok.

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

Tallene i arrayet lægges i ræk­ke­føl­ge til variablen sum, som tidligere blev de­kla­re­ret uden for løkken. Outputtet er:

Result = 42
Java

22521435b1ac7a57243924ad4925f3b8

13df017efe49c76027ec13b880e5cad6

Gå til ho­ved­me­nu­en