when als expressie
Geef waarden terug vanuit when
when als expressie is een gratis Kotlin Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Kotlin Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Kotlin Academy bevat in totaal 4 lessen.
when als expressie
Kotlin's when is meer dan een switch-instructie. Het is een expressie, wat betekent dat het een waarde oplevert die je kunt toewijzen of teruggeven.
Hierdoor blijft vertakkingslogica beknopt en leesbaar.
Een waarde teruggeven
Wanneer je when als expressie gebruikt, levert elke vertakking een resultaat op. De waarde van de overeenkomende vertakking wordt het resultaat van de volledige when.
fun main() {
val day = 3
val name = when (day) {
1 -> "Monday"
2 -> "Tuesday"
3 -> "Wednesday"
else -> "Other"
}
println(name)
}else is verplicht
Wanneer je when als expressie gebruikt, moet deze uitputtend zijn. Voor willekeurige waarden betekent dit dat je een else-vertakking nodig hebt.
Zonder deze vertakking kan de compiler niet garanderen dat er een waarde wordt opgeleverd.
fun grade(score: Int): String = when {
score >= 90 -> "A"
score >= 80 -> "B"
else -> "C"
}
fun main() {
println(grade(85))
}Meerdere waarden per vertakking
Scheid meerdere waarden met komma's om één vertakking te delen.
Dit is overzichtelijker dan dezelfde body te herhalen.
fun main() {
val day = 6
val type = when (day) {
1, 2, 3, 4, 5 -> "Weekday"
6, 7 -> "Weekend"
else -> "Invalid"
}
println(type)
}when zonder argument
Laat het onderwerp weg, waarna elke vertakking een booleaanse voorwaarde wordt.
Dit vervangt een keten van if/else if door een overzichtelijk blok.
fun main() {
val temp = 18
val feel = when {
temp < 0 -> "Freezing"
temp < 15 -> "Cold"
temp < 25 -> "Mild"
else -> "Hot"
}
println(feel)
}Bereiken in vertakkingen
Vertakkingen kunnen bereiken testen met in.
Zo druk je numerieke categorieën heel natuurlijk uit.
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)
}Typecontroles in vertakkingen
Vertakkingen kunnen types controleren met is.
Het resultaat van elke vertakking kan verschillen, waarna when het gemeenschappelijke type teruggeeft.
fun describe(x: Any): String = when (x) {
is Int -> "Integer"
is String -> "Text"
else -> "Unknown"
}
fun main() {
println(describe(42))
println(describe("hi"))
}Blokken in vertakkingen
Een vertakking kan een blok met meerdere instructies zijn. De laatste expressie in het blok is de waarde ervan.
fun main() {
val n = 5
val result = when {
n > 0 -> {
val doubled = n * 2
"Positive, doubled is " + doubled
}
else -> "Non-positive"
}
println(result)
}when rechtstreeks teruggeven
Een functie kan een when-expressie rechtstreeks teruggeven met een body die uit één expressie bestaat.
Dit is een veelgebruikte, overzichtelijke Kotlin-stijl.
fun sign(n: Int): String = when {
n > 0 -> "positive"
n < 0 -> "negative"
else -> "zero"
}
fun main() {
println(sign(-4))
}Het onderwerp vastleggen
Je kunt het onderwerp binnen when declareren, zodat het in de vertakkingen beschikbaar is.
Zo blijft een tijdelijke waarde strikt binnen de benodigde scope.
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"))
}Alles samenbrengen
Als expressie is when een krachtige producent van waarden:
- Elke vertakking levert een resultaat op
- Met
elsewordt de expressie uitputtend - Komma's, bereiken, types en blokken worden ondersteund
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))
}Korte controle
Test je begrip van when als expressie.
Samenvatting
Je hebt geleerd when als expressie te gebruiken:
- De waarde van de overeenkomende vertakking wordt teruggegeven
elseis nodig om alle gevallen af te handelen- Komma's, bereiken, typecontroles en blokken worden ondersteund
Vervolgens zie je hoe slimme casts de compiler types voor je laten verfijnen.
Leer Kotlin met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 51
- Lessen
- 203
Veelgestelde vragen
Is de les “when als expressie” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Kotlin Academy, waaronder “when als expressie”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Kotlin Academy bevat in totaal 4 lessen.
Wat leer ik in “when als expressie”?
Geef waarden terug vanuit when Je oefent met Kotlin Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Kotlin Academy te beginnen?
Ervaring vooraf is niet nodig. Kotlin Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “when als expressie”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Kotlin Academy?
Ja. Elke les over Kotlin Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- when als expressie
- Smart casts
- is- en as-operatoren
- Volledige when-expressies