0Pricing
Java Academy · Lekcja

var w pętlach for

Wnioskuj typy zmiennych pętli

var w pętlach for to bezpłatna lekcja Java Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Java Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Java Academy zawiera 4 lekcji w sumie.

var w pętlach

var działa naturalnie jako zmienna sterująca zarówno w klasycznych pętlach for, jak i w rozszerzonych pętlach for-each. Kompilator wnioskuje typ na podstawie kontekstu pętli.

Licznik klasycznej pętli for

W klasycznej pętli for var wnioskuje typ licznika na podstawie jego inicjalizatora. W tym przypadku var i = 0 powoduje wywnioskowanie typu int.

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

Pętla for-each dla listy

W rozszerzonej pętli for var wnioskuje typ elementu na podstawie kolekcji. W tym przypadku każda zmienna name ma typ 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);
        }
    }
}

Pętla for-each dla tablicy

To samo działa w przypadku tablic. Typ elementu jest wywnioskowywany z typu tablicy.

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

Iterowanie po wpisach mapy

Podczas iterowania po wpisach mapy var pozwala uniknąć zapisywania rozwlekłego typu 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());
        }
    }
}

Metody wywnioskowane dla elementów

Ponieważ typ elementu jest znany, można wywoływać jego metody wewnątrz pętli, korzystając z pełnego sprawdzania na etapie kompilacji.

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

Pętle zagnieżdżone

Można również używać var w zagnieżdżonych pętlach, zachowując krótkie deklaracje poszczególnych liczników.

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

Odliczanie w dół

Wywnioskowany typ wynika z inicjalizatora, więc pętla zmniejszająca wartość działa w ten sam sposób.

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 z licznikami typu long

Jeśli potrzebny jest licznik typu long, należy użyć literału typu long w inicjalizatorze, aby var wywnioskował szerszy typ.

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

Czytelność pętli

Pętle są jednym z najbardziej przejrzystych miejsc do użycia var, ponieważ typ wynika bezpośrednio z kolekcji lub inicjalizatora. Kod pozostaje zwięzły i bezpieczny.

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 i wartość jednocześnie

Można połączyć klasyczną pętlę indeksowaną z var, aby odczytywać jednocześnie pozycję i wartość z listy.

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

Szybkie sprawdzenie

W wyrażeniu for (var name : names), w którym names jest typu List<String>, jakiego typu jest name?

Podsumowanie

Nauczyli się Państwo używać var w pętlach:

  • Pętle klasyczne: typ licznika jest wywnioskowywany z jego inicjalizatora
  • Pętla for-each: typ elementu jest wywnioskowywany z kolekcji lub tablicy
  • Pozwala uniknąć rozwlekłych typów, takich jak Map.Entry
  • Należy używać literałów typu long, na przykład 0L, w przypadku liczników typu long
  • Pętle są idealnym miejscem na użycie var

Często zadawane pytania

Czy lekcja „var w pętlach for” jest bezpłatna?

Tak — pełny tekst „var w pętlach for” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Java Academy, przejdź na CoddyKit PRO. Kurs Java Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „var w pętlach for”?

Wnioskuj typy zmiennych pętli Ćwiczysz Java Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Java Academy?

Nie wymagamy żadnego doświadczenia. Java Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „var w pętlach for”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Java Academy?

Tak. Każda lekcja Java Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Używanie var dla zmiennych lokalnych
  2. Kiedy var poprawia czytelność
  3. var w pętlach for
  4. Ograniczenia var
← Powrót do Java Academy