Java Academy · Lektion

var i for-løkker

Udled typer for løkkevariabler

Lektion 3 af 413 trin

var i for-løkker er en gratis Java Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Java Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Java Academy-kurset indeholder 4 lektioner i alt.

var i løkker

var fungerer naturligt som løkkevariabel i både klassiske for-løkker og udvidede for-each-løkker. Compileren udleder typen ud fra løkkens kontekst.

Tæller i en klassisk for-løkke

I en klassisk for-løkke udleder var tællerens type fra initialiseringen. Her udleder 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 over en liste

I en udvidet for-løkke udleder var elementtypen fra samlingen. Her er hvert 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 over et array

Det samme gælder for arrays. Elementtypen udledes af 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);
    }
}

Gennemløb af poster i et Map

Når du gennemløber poster i et Map, slipper var dig for at skrive den omstændelige type 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 på elementer med udledt type

Da elementtypen er kendt, kan du kalde dens metoder inde i løkken med fuld kontrol ved kompilering.

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() + ")");
        }
    }
}

Indlejrede løkker

Du kan også bruge var i indlejrede løkker, så deklarationen af hver tæller holdes 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();
        }
    }
}

Tælle ned

Den udledte type følger initialiseringen, så en løkke, der tæller ned, fungerer på samme måde.

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-tællere

Hvis du har brug for en long-tæller, skal du bruge en long-literal i initialiseringen, så var udleder den bredere type.

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æsbarhed i løkker

Løkker er et af de tydeligste steder at bruge var, fordi typen fremgår tydeligt af samlingen eller initialiseringen. Koden forbliver kortfattet og sikker.

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

Indeks og værdi sammen

Du kan kombinere en klassisk indekseret løkke med var for at læse både positionen og værdien fra en liste.

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

Hurtigt tjek

I for (var name : names), hvor names er en List<String>, hvilken type har name?

Opsummering

Du har lært at bruge var i løkker:

  • Klassiske løkker: udleder tællertypen fra dens initialisering
  • for-each: udleder elementtypen fra samlingen eller arrayet
  • Sparer dig for omstændelige typer som Map.Entry
  • Brug long-literaler, f.eks. 0L, til long-tællere
  • Løkker er et ideelt sted at bruge var
Gratis at komme i gang

Lær Java med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
104
Lektioner
374

Ofte stillede spørgsmål

Er lektionen “var i for-løkker” gratis?

Ja — hele teksten til “var i for-løkker” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Java Academy-kurset, skal du opgradere til CoddyKit PRO. Java Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “var i for-løkker”?

Udled typer for løkkevariabler Du øver dig i Java Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Java Academy?

Der kræves ingen tidligere erfaring. Java Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “var i for-løkker”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Java Academy-lektion?

Ja. Alle Java Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Brug af var til lokale variabler
  2. Når var forbedrer læsbarheden
  3. var i for-løkker
  4. Begrænsninger ved var
← Tilbage til Java Academy