var i for-loopar
Härled typer för loopvariabler
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örlong-räknare - Loopar är en idealisk plats för
var
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.