var for-silmukoissa
Päättele silmukkamuuttujien tyypit
var for-silmukoissa on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/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.
var silmukoissa
var toimii luontevasti silmukkamuuttujana sekä perinteisissä for-silmukoissa että laajennetuissa for-each-silmukoissa. Kääntäjä päättelee tyypin silmukan asiayhteydestä.
Perinteisen for-silmukan laskuri
Perinteisessä for-silmukassa var päättelee laskurin tyypin alustajasta. Tässä var i = 0 päättelee tyypiksi int.
public class Main {
public static void main(String[] args) {
for (var i = 0; i < 5; i++) {
System.out.println("i = " + i);
}
}
}Listan läpikäynti for-each-silmukalla
Laajennetussa for-silmukassa var päättelee alkiotyypin kokoelmasta. Tässä jokainen name on tyyppiä 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-taulukon läpikäynti
Sama toimii myös taulukoille. Alkiotyyppi päätellään taulukon tyypistä.
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);
}
}Mapin tietueiden läpikäynti
Mapin tietueita läpikäytäessä var säästää Teidät pitkän Map.Entry-tyypin kirjoittamiselta.
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());
}
}
}Päätellyn alkiotyypin metodit
Koska alkiotyyppi tunnetaan, voitte kutsua sen metodeja silmukan sisällä, ja kääntäjä tarkistaa tyypit kokonaan käännösaikana.
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() + ")");
}
}
}Sisäkkäiset silmukat
Voitte käyttää var-määrettä myös sisäkkäisissä silmukoissa, jolloin jokaisen laskurin esittely pysyy lyhyenä.
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();
}
}
}Alaspäin laskeminen
Päätelty tyyppi määräytyy alustajan mukaan, joten pienenevä silmukka toimii samalla tavalla.
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 long-laskureiden kanssa
Jos tarvitsette long-tyyppisen laskurin, käyttäkää alustajassa long-literaalia, jotta var päättelee laajemman tyypin.
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);
}
}Silmukoiden luettavuus
Silmukat ovat yksi selkeimmistä paikoista käyttää var-määrettä, koska tyyppi käy ilmi kokoelmasta tai alustajasta. Koodi pysyy tiiviinä ja turvallisena.
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);
}
}Indeksi ja arvo yhdessä
Voitte yhdistää perinteisen indeksoidun silmukan ja var-määreen lukeaksesi luettelosta sekä sijainnin että arvon.
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));
}
}
}Pikatarkistus
Mikä on name-muuttujan tyyppi lausekkeessa for (var name : names), kun names on tyyppiä List<String>?
Kertaus
Opitte käyttämään var-määrettä silmukoissa:
- Perinteiset silmukat: laskurin tyyppi päätellään alustajasta
- for-each: alkiotyyppi päätellään kokoelmasta tai taulukosta
- Välttää pitkien tyyppien, kuten
Map.Entry, kirjoittamisen - Käyttäkää long-literaaleja, kuten
0L,long-laskureille - Silmukat ovat ihanteellinen paikka käyttää
var-määrettä
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 for-silmukoissa” ilmainen?
Kyllä – oppitunnin ”var for-silmukoissa” 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 for-silmukoissa”?
Päättele silmukkamuuttujien tyypit 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 3/4.
Kuinka kauan ”var for-silmukoissa”-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
- var-muuttujien käyttö paikallisissa muuttujissa
- Milloin var parantaa luettavuutta
- var for-silmukoissa
- var:n rajoitukset