when lausekkeena
Palauta arvoja when-lausekkeesta
when lausekkeena on ilmainen Kotlin Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Kotlin Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Kotlin Academy-kurssilla on yhteensä 4 oppituntia.
when-lauseke
Kotlinin when on enemmän kuin switch-lause. Se on lauseke, eli se tuottaa arvon, jonka voitte sijoittaa muuttujaan tai palauttaa.
Tämä tekee haarautuvasta logiikasta tiivistä ja helposti luettavaa.
Arvon palauttaminen
Lausekkeena käytettynä jokainen haara tuottaa tuloksen. Osuvan haaran arvosta tulee koko when-lausekkeen tulos.
fun main() {
val day = 3
val name = when (day) {
1 -> "Monday"
2 -> "Tuesday"
3 -> "Wednesday"
else -> "Other"
}
println(name)
}else vaaditaan
Lausekkeena käytetyn when-lausekkeen on katettava kaikki mahdolliset tapaukset. Mielivaltaisille arvoille tämä tarkoittaa else-haaraa.
Ilman sitä kääntäjä ei voi varmistaa, että lauseke tuottaa arvon.
fun grade(score: Int): String = when {
score >= 90 -> "A"
score >= 80 -> "B"
else -> "C"
}
fun main() {
println(grade(85))
}Useita arvoja haaraa kohti
Erottakaa useat arvot pilkuilla, jos haluatte niiden käyttävän samaa haaraa.
Näin vältätte saman rungon toistamisen.
fun main() {
val day = 6
val type = when (day) {
1, 2, 3, 4, 5 -> "Weekday"
6, 7 -> "Weekend"
else -> "Invalid"
}
println(type)
}when ilman argumenttia
Jättäkää kohde pois, jolloin jokaisesta haarasta tulee totuusarvoinen ehto.
Tämä korvaa if/else if -ketjun siistillä lohkolla.
fun main() {
val temp = 18
val feel = when {
temp < 0 -> "Freezing"
temp < 15 -> "Cold"
temp < 25 -> "Mild"
else -> "Hot"
}
println(feel)
}Välit haaroissa
Haaroissa voidaan testata välejä in-operaattorilla.
Näin numeeriset luokat voidaan ilmaista hyvin luontevasti.
fun main() {
val score = 73
val band = when (score) {
in 0..59 -> "Fail"
in 60..79 -> "Pass"
in 80..100 -> "Excellent"
else -> "Invalid"
}
println(band)
}Tyyppitarkistukset haaroissa
Haaroissa voidaan tarkistaa tyyppejä is-operaattorilla.
Kunkin haaran tulos voi olla erilainen, ja when palauttaa yhteisen tyypin.
fun describe(x: Any): String = when (x) {
is Int -> "Integer"
is String -> "Text"
else -> "Unknown"
}
fun main() {
println(describe(42))
println(describe("hi"))
}Haaralohkot
Haara voi olla useita lauseita sisältävä lohko. Lohkon viimeinen lauseke on sen arvo.
fun main() {
val n = 5
val result = when {
n > 0 -> {
val doubled = n * 2
"Positive, doubled is " + doubled
}
else -> "Non-positive"
}
println(result)
}when-lausekkeen palauttaminen suoraan
Funktio voi palauttaa when-lausekkeen suoraan yksilausekkeisella rungolla.
Tämä on hyvin yleinen ja selkeä Kotlin-tyyli.
fun sign(n: Int): String = when {
n > 0 -> "positive"
n < 0 -> "negative"
else -> "zero"
}
fun main() {
println(sign(-4))
}Kohteen tallentaminen
Voitte määrittää kohteen when-lausekkeen sisällä, jolloin se on käytettävissä haaroissa.
Näin väliaikaisen arvon näkyvyysalue pysyy mahdollisimman rajattuna.
fun describeLength(text: String): String = when (val len = text.length) {
0 -> "empty"
in 1..5 -> "short (" + len + ")"
else -> "long (" + len + ")"
}
fun main() {
println(describeLength("hello"))
}Kootaan kokonaisuus
Lausekkeena when on tehokas arvojen tuottaja:
- Jokainen haara tuottaa tuloksen
elsetekee lausekkeesta kattavan- Tukee pilkuilla erotettuja arvoja, välejä, tyyppejä ja lohkoja
fun ticketPrice(age: Int): Int = when {
age < 6 -> 0
age < 18 -> 10
age >= 65 -> 8
else -> 15
}
fun main() {
println(ticketPrice(4))
println(ticketPrice(70))
}Pikatarkistus
Testatkaa, miten hyvin ymmärrätte when-lausekkeen käytön lausekkeena.
Kertaus
Opitte käyttämään when-lauseketta lausekkeena:
- Se palauttaa osuvan haaran arvon
- Se tarvitsee
else-haaran ollakseen kattava - Se tukee pilkuilla erotettuja arvoja, välejä, tyyppitarkistuksia ja lohkoja
Seuraavaksi näette, miten smart castit auttavat kääntäjää kaventamaan tyyppejä puolestanne.
Opi Kotlin 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
- 51
- Oppitunnit
- 203
Usein kysytyt kysymykset
Onko oppitunti ”when lausekkeena” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Kotlin Academy-oppimispolun 3 oppituntia, myös oppitunnin “when lausekkeena”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Kotlin Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”when lausekkeena”?
Palauta arvoja when-lausekkeesta Harjoittelet Kotlin Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Kotlin Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Kotlin 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 ”when lausekkeena”-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ä Kotlin Academy-oppitunnilla?
Kyllä. Jokainen Kotlin 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.