Java Academy · Lektion

var i for-loopar

Härled typer för loopvariabler

Lektion 3 av 413 steg

var i for-loopar är en gratis lektion i Java Academy på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Java Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Java Academy innehåller totalt 4 lektioner.

var i loopar

var fungerar naturligt som loopvariabel både i klassiska for-loopar och i utökade for-each-loopar. Kompilatorn härleder typen från loopens sammanhang.

Räknare i en klassisk for-loop

I en klassisk for-loop härleder var räknartypen från initieringen. Här härleder var i = 0 typen int.

public class Main {
    public static void main(String[] args) {
        for (var i = 0; i < 5; i++) {
            System.out.println("i = " + i);
        }
    }
}

for-each över en lista

I en utökad for-loop härleder var elementtypen från samlingen. Här är varje name en String.

import java.util.List;

public class Main {
    public static void main(String[] args) {
        var names = List.of("Ann", "Ben", "Cara");
        for (var name : names) {
            System.out.println(name);
        }
    }
}

for-each över en array

Samma sak gäller för arrayer. Elementtypen härleds från arraytypen.

public class Main {
    public static void main(String[] args) {
        var scores = new int[]{90, 85, 78};
        var total = 0;
        for (var s : scores) {
            total += s;
        }
        System.out.println("Total: " + total);
    }
}

Iterera över poster i en Map

När du itererar över poster i en map slipper du skriva den utförliga typen Map.Entry.

import java.util.Map;

public class Main {
    public static void main(String[] args) {
        var ages = Map.of("Ann", 30, "Ben", 25);
        for (var entry : ages.entrySet()) {
            System.out.println(entry.getKey() + " -> " + entry.getValue());
        }
    }
}

Metoder för element med härledd typ

Eftersom elementtypen är känd kan du anropa dess metoder inuti loopen med fullständig kontroll vid kompileringen.

import java.util.List;

public class Main {
    public static void main(String[] args) {
        var words = List.of("red", "green");
        for (var w : words) {
            System.out.println(w.toUpperCase() + " (" + w.length() + ")");
        }
    }
}

Nästslande loopar

Du kan även använda var i nästlade loopar, så att deklarationen av varje räknare förblir kort.

public class Main {
    public static void main(String[] args) {
        for (var i = 1; i <= 3; i++) {
            for (var j = 1; j <= 3; j++) {
                System.out.print(i * j + " ");
            }
            System.out.println();
        }
    }
}

Räkna nedåt

Den härledda typen följer initieringen, så en loop som räknar nedåt fungerar på samma sätt.

public class Main {
    public static void main(String[] args) {
        for (var n = 5; n >= 1; n--) {
            System.out.println(n);
        }
        System.out.println("Liftoff");
    }
}

var med long-räknare

Om du behöver en long-räknare använder du ett long-literal i initieringen, så att var härleder den bredare typen.

public class Main {
    public static void main(String[] args) {
        var sum = 0L;
        for (var i = 1L; i <= 1000000L; i++) {
            sum += i;
        }
        System.out.println(sum);
    }
}

Läsbarhet i loopar

Loopar är en av de tydligaste platserna att använda var på, eftersom typen framgår av samlingen eller initieringen. Koden förblir kort och säker.

import java.util.List;

public class Main {
    public static void main(String[] args) {
        var temps = List.of(20, 22, 19, 25);
        var max = Integer.MIN_VALUE;
        for (var t : temps) {
            if (t > max) max = t;
        }
        System.out.println("Max: " + max);
    }
}

Index och värde tillsammans

Du kan kombinera en klassisk indexbaserad loop med var för att läsa både positionen och värdet från en lista.

import java.util.List;

public class Main {
    public static void main(String[] args) {
        var items = List.of("a", "b", "c");
        for (var i = 0; i < items.size(); i++) {
            System.out.println(i + ": " + items.get(i));
        }
    }
}

Snabbtest

I for (var name : names), där names är en List<String>, vilken typ har name?

Sammanfattning

Du har lärt dig att använda var i loopar:

  • Klassiska loopar: härleder typen för räknaren från initieringen
  • for-each: härleder typen för elementet från samlingen eller arrayen
  • Gör utförliga typer som Map.Entry överflödiga
  • Använd long-literal, till exempel 0L, för long-räknare
  • Loopar är en idealisk plats för var
Gratis att börja

Lär dig Java med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
104
Lektioner
374

Vanliga frågor

Är lektionen ”var i for-loopar” gratis?

Ja – hela texten till ”var i for-loopar” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Java Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Java Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”var i for-loopar”?

Härled typer för loopvariabler Ni övar på Java Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Java Academy?

Du behöver inga förkunskaper. Utbildningen i Java Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”var i for-loopar”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Java Academy-lektionen?

Ja. Varje Java Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Använda var för lokala variabler
  2. När var förbättrar läsbarheten
  3. var i for-loopar
  4. Begränsningar för var
← Tillbaka till Java Academy