Voor elke lus in Java

โšก Slimme samenvatting

Voor elke lus in Java `for-each` is een vereenvoudigde vorm van de `for`-lus die wordt gebruikt om arrays en lijsten te doorlopen zonder teller of index. Deze bron legt de `for-each`-syntaxis uit, vergelijkt deze met de traditionele `for`-lus en toont een volledig werkend voorbeeld met de verwachte uitvoer.

  • ๐Ÿ” Doel: De for-each-lus doorloopt elk element van een array of lijst rechtstreeks, waardoor de hoeveelheid code wordt verminderd.
  • ๐Ÿงฎ Geen teller: In tegenstelling tot een traditionele for-lus heeft een for-each-lus geen index, voorwaarde of increment nodig.
  • ๐Ÿงฉ Syntax: Declareer een tijdelijke variabele waarvan het type overeenkomt met de verzameling, en vervolgens de verzameling waar je doorheen wilt itereren.
  • โ€‹ Vergelijking: Het voorbeeld toont dezelfde uitvoer van een tellergebaseerde lus en een for-each-lus.
  • โš ๏ธ Beperking: De for-each-lus geeft geen index terug, waardoor de onderliggende elementen niet gemakkelijk kunnen worden gewijzigd.

Voor elke lus in Java

Java Voor elke array

De for-each-lus is een andere vorm van een for-lus die gebruikt wordt om een โ€‹โ€‹array te doorlopen. De for-each-lus vereenvoudigt de code aanzienlijk en maakt geen gebruik van de index, of liever gezegd de teller, in de lus.

Syntax:

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/Itereer een array in Java

Laten we het voorbeeld nemen met een String array waarover u wilt itereren zonder tellers te gebruiken. Beschouw een String array arrData die als volgt is geรฏnitialiseerd:

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

Hoewel je misschien methoden kent zoals het vinden van de grootte van de reeks En vervolgens doorlopen we elk element van de array met behulp van de traditionele for-lus (teller, voorwaarde en verhoging). We hebben een meer geoptimaliseerde aanpak nodig die geen gebruik maakt van zo'n teller.

Dit is de conventionele benadering van de โ€œforโ€-lus:

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

Je kunt zien hoe de teller wordt gebruikt en vervolgens hoe deze als index voor de array dient. Java biedt een manier om de โ€œforโ€-lus te gebruiken die door elk element van de array loopt.

Hier is de code voor de array die we eerder hebben gedeclareerd:

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

Je kunt het verschil tussen de lussen zien. De code is aanzienlijk vereenvoudigd. Bovendien wordt er geen gebruik gemaakt van de index, of liever gezegd de teller, in de lus. Zorg ervoor dat het gegevenstype dat in de for-each-lus is gedeclareerd, overeenkomt met het gegevenstype van de lus. ArrayLijst dat je aan het herhalen bent.

Voor elke lus Voorbeeld

Hieronder ziet u de hele klas die de bovenstaande uitleg laat zien:

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);
    }
  }
}

Itereer een array in Java

Verwachte resultaten:

Using conventional For Loop:
Alpha
Beta
Gamma
Delta
Sigma

Using Foreach loop:
Alpha
Beta
Gamma
Delta
Sigma

Veelgestelde vragen

Ja. AI-assistenten kunnen indexgebaseerde lussen omzetten naar for-each-lussen, waarbij de index niet nodig is. Je moet echter nog steeds gevallen controleren die afhankelijk zijn van de index voor positiebepaling of het wijzigen van elementen.

AI-tools suggereren vaak een for-each-lus voor de leesbaarheid wanneer de index niet wordt gebruikt, terwijl keeping Geรฏndexeerde lussen waarbij de positie of wijziging van het element van belang is. De keuze hangt af van de specifieke taak.

Een traditionele for-lus gebruikt een teller en een index om de iteratie te regelen. De for-each-lus doorloopt elk element direct zonder teller, wat de leesbaarheid verbetert, maar geen index biedt voor toegang tot het element.

Het wijzigen van de lusvariabele werkt het onderliggende array-element niet bij, omdat deze een kopie van de waarde bevat. Om elementen ter plekke te wijzigen, gebruikt u een traditionele for-lus met een index.

Vat dit bericht samen met: