For-hver sløjfe ind Java

⚡ Smart opsummering

For-hver sløjfe ind Java er en forenklet form af for-løkken, der bruges til at gennemløbe arrays og lister uden en tæller eller et indeks. Denne ressource forklarer for-each-syntaksen, sammenligner den med den traditionelle for-løkke og viser et komplet fungerende eksempel med forventet output.

  • 🔁 Formål: for-each-løkken itererer direkte over hvert element i et array eller en liste, hvilket reducerer koden.
  • 🧮 Ingen tæller: I modsætning til en traditionel for-løkke behøver for-each intet indeks, betingelse eller forøgelse.
  • 🧩 Syntaks: Deklarer en midlertidig variabel, hvis type matcher samlingen, og deklarer derefter den samling, der skal itereres.
  • ⚖️ Sammenligning: Eksemplet viser det samme output fra en tællerbaseret løkke og en for-each-løkke.
  • ⚠️ Begrænsning: For-each-løkken giver intet indeks, så den kan ikke nemt ændre de underliggende elementer.

For-hver sløjfe ind Java

Java For hver Array

For-Each-løkken er en anden form for for-løkke, der bruges til at gennemløbe arrayet. For-each-løkken reducerer koden betydeligt, og der er ingen brug af indekset, eller rettere sagt tælleren, i løkken.

Syntaks:

for (<DataType of array/List> <Temp variable name> : <Array/List to be iterated>) {
    System.out.println();
    // Any other operation can be done with this temp variable.
}

Loop/iterér et array ind Java

Lad os tage eksemplet ved at bruge en String-array, som du vil iterere over uden at bruge nogen tællere. Overvej en String array arrData initialiseret som følger:

String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};

Selvom du måske kender metoder som at finde størrelsen på matrix og derefter itererer gennem hvert element i arrayet ved hjælp af den traditionelle for-løkke (tæller, betingelse og inkrement), har vi brug for en mere optimeret tilgang, der ikke bruger en sådan tæller.

Dette er den konventionelle tilgang til "for"-løkken:

for (int i = 0; i < arrData.length; i++) {
    System.out.println(arrData[i]);
}

Du kan se brugen af ​​tælleren og derefter dens anvendelse som indeks for arrayet. Java giver en måde at bruge "for"-løkken, der vil iterere gennem hvert element i arrayet.

Her er koden for det array, vi deklarerede tidligere:

for (String strTemp : arrData) {
    System.out.println(strTemp);
}

Du kan se forskellen mellem løkkerne. Koden er reduceret betydeligt. Der er heller ingen brug af indekset, eller rettere sagt tælleren, i løkken. Sørg for, at den datatype, der er deklareret i for-each-løkken, matcher datatypen for ArrayList at du gentager.

For hvert loop Eksempel

Her har vi hele klassen, der viser ovenstående forklaring:

class UsingForEach {
  public static void main(String[] args) {
    String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};
    //The conventional approach of using the for loop
    System.out.println("Using conventional For Loop:");
    for(int i=0; i< arrData.length; i++){
      System.out.println(arrData[i]);
    }
    System.out.println("\nUsing Foreach loop:");
    //The optimized method of using the for loop - also called the foreach loop
    for (String strTemp : arrData){
      System.out.println(strTemp);
    }
  }
}

Iterer et array ind Java

Forventet output:

Using conventional For Loop:
Alpha
Beta
Gamma
Delta
Sigma

Using Foreach loop:
Alpha
Beta
Gamma
Delta
Sigma

Ofte Stillede Spørgsmål

Ja. AI-assistenter kan omstrukturere indeksbaserede loops til for-each-loops, hvor indekset ikke er nødvendigt. Du bør stadig gennemgå sager, der er afhængige af indekset til positions- eller elementændring.

AI-værktøjer foreslår ofte for-each-løkken for læsbarhed, når indekset ikke bruges, mens keepping indekserede løkker, hvor elementets position eller modifikation har betydning. Valget afhænger af den specifikke opgave.

En traditionel for-løkke bruger en tæller og et indeks til at styre iteration. For-each-løkken itererer hvert element direkte uden en tæller, hvilket forbedrer læsbarheden, men giver intet indeks til elementadgang.

Ændring af loop-variablen opdaterer ikke det underliggende array-element, fordi det indeholder en kopi af værdien. For at ændre elementer på plads skal du bruge en traditionel for-løkke med et indeks.

Opsummer dette indlæg med: