Java Academy · Oppitunti

var-muuttujien käyttö paikallisissa muuttujissa

Anna kääntäjän päätellä tyyppi

Oppitunti 1/413 vaihetta

var-muuttujien käyttö paikallisissa muuttujissa on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 4 oppituntia.

Paikallinen tyyppipäättely

Java 10:stä alkaen voitte määrittää paikallisia muuttujia var-avainsanalla ja antaa kääntäjän päätellä tyypin alustajasta. Tätä kutsutaan paikalliseksi tyyppipäättelyksi. Muuttuja on silti vahvasti tyypitetty.

Ensimmäinen var-muuttujanne

Korvatkaa eksplisiittinen tyyppi var-avainsanalla, kun määritätte muuttujalle arvon. Kääntäjä näkee literaalin ja päättelee oikean tyypin.

public class Main {
    public static void main(String[] args) {
        var message = "Hello";
        var count = 42;
        System.out.println(message + " " + count);
    }
}

var ei tarkoita dynaamista tyypitystä

var ei tee Javasta dynaamisesti tyypitettyä. Kun tyyppi on päätelty, se on kiinteä. Eri tyyppisen arvon sijoittaminen myöhemmin aiheuttaa käännösvirheen.

public class Main {
    public static void main(String[] args) {
        var n = 10;
        n = 20;
        System.out.println(n);
    }
}

Oliotyyppien päättely

var toimii myös olioiden kanssa. Päätelty tyyppi on alustajalausekkeen palauttama tyyppi.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        var list = new ArrayList<String>();
        list.add("a");
        list.add("b");
        System.out.println(list);
    }
}

Vähemmän toistoa

Pitkiä geneerisiä tyyppejä ei enää tarvitse kirjoittaa kahdesti. var poistaa vasemman puolen tarpeettoman tyypin.

import java.util.HashMap;

public class Main {
    public static void main(String[] args) {
        var scores = new HashMap<String, Integer>();
        scores.put("Alice", 90);
        System.out.println(scores);
    }
}

Tyypin päättely metodien palautusarvoista

Kun metodi palauttaa arvon, var ottaa automaattisesti käyttöön metodin ilmoitetun palautustyypin.

public class Main {
    static String greet() {
        return "Hi there";
    }
    public static void main(String[] args) {
        var g = greet();
        System.out.println(g.toUpperCase());
    }
}

var primitiivityyppien kanssa

Kokonaislukuliteraalista päätellään tyyppi int ja desimaaliliteraalista tyyppi double. Kiinnittäkää huomiota siihen, minkä primitiivityypin saatte.

public class Main {
    public static void main(String[] args) {
        var i = 5;
        var d = 5.0;
        var b = true;
        System.out.println(i + " " + d + " " + b);
    }
}

Tyyppi tarkistetaan edelleen käännösaikana

Koska tyyppi tunnetaan käännösaikana, kääntäjä havaitsee edelleen tyyppivirheet. String-metodin kutsuminen päätellystä int-arvosta aiheuttaisi käännösvirheen.

public class Main {
    public static void main(String[] args) {
        var name = "Coddy";
        System.out.println(name.length());
    }
}

Alustus on tehtävä heti

var-määritys edellyttää alustajaa samalla rivillä. Kääntäjä tarvitsee arvon, josta tyyppi päätellään.

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

Toimii taulukoiden kanssa

Voitte päätellä taulukon tyypin, kunhan alustaja tekee alkiotyypin selväksi.

public class Main {
    public static void main(String[] args) {
        var numbers = new int[]{1, 2, 3, 4};
        var sum = 0;
        for (var n : numbers) {
            sum += n;
        }
        System.out.println(sum);
    }
}

Käytännön esimerkki

var-avainsanan käyttäminen pienessä ohjelmassa pitää koodin siistinä ja säilyttää samalla täyden tyypityksen.

import java.util.List;

public class Main {
    public static void main(String[] args) {
        var fruits = List.of("apple", "banana", "cherry");
        for (var fruit : fruits) {
            System.out.println(fruit.toUpperCase());
        }
    }
}

Pikatarkistus

Mikä kuvaa parhaiten var-avainsanan toimintaa Javassa?

Kertaus

Opitte käyttämään var-avainsanaa paikallisissa muuttujissa:

  • Kääntäjä päättelee tyypin alustajasta
  • Muuttuja on edelleen vahvasti ja staattisesti tyypitetty
  • Alustaja on pakollinen samalla rivillä
  • Se vähentää toistoa pitkien geneeristen tyyppien yhteydessä
  • Se toimii primitiivityyppien, olioiden ja taulukoiden kanssa
Aloita maksutta

Opi Java tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
104
Oppitunnit
374

Usein kysytyt kysymykset

Onko oppitunti ”var-muuttujien käyttö paikallisissa muuttujissa” ilmainen?

Kyllä – oppitunnin ”var-muuttujien käyttö paikallisissa muuttujissa” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”var-muuttujien käyttö paikallisissa muuttujissa”?

Anna kääntäjän päätellä tyyppi Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”var-muuttujien käyttö paikallisissa muuttujissa”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?

Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. var-muuttujien käyttö paikallisissa muuttujissa
  2. Milloin var parantaa luettavuutta
  3. var for-silmukoissa
  4. var:n rajoitukset
← Takaisin: Java Academy