0Pricing
Kotlin Academy · Lektion

when als Ausdruck

Geben Sie Werte aus when zurück

when als Ausdruck ist eine kostenlose Kotlin Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Kotlin Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.

when als Ausdruck

Kotlin-when ist mehr als eine switch-Anweisung. Es ist ein Ausdruck, das heißt, es erzeugt einen Wert, den Sie zuweisen oder zurückgeben können.

Dadurch wird Verzweigungslogik kurz und übersichtlich.

Einen Wert zurückgeben

Wenn when als Ausdruck verwendet wird, liefert jeder Zweig ein Ergebnis. Der Wert des passenden Zweigs wird zum Ergebnis des gesamten when-Ausdrucks.

fun main() {
    val day = 3
    val name = when (day) {
        1 -> "Monday"
        2 -> "Tuesday"
        3 -> "Wednesday"
        else -> "Other"
    }
    println(name)
}

else ist erforderlich

Wenn when als Ausdruck verwendet wird, muss es vollständig sein. Bei beliebigen Werten bedeutet das, dass ein else-Zweig erforderlich ist.

Ohne ihn kann der Compiler nicht garantieren, dass ein Wert erzeugt wird.

fun grade(score: Int): String = when {
    score >= 90 -> "A"
    score >= 80 -> "B"
    else -> "C"
}

fun main() {
    println(grade(85))
}

Mehrere Werte pro Zweig

Trennen Sie mehrere Werte durch Kommas, um sie demselben Zweig zuzuordnen.

Das ist übersichtlicher, als denselben Block zu wiederholen.

fun main() {
    val day = 6
    val type = when (day) {
        1, 2, 3, 4, 5 -> "Weekday"
        6, 7 -> "Weekend"
        else -> "Invalid"
    }
    println(type)
}

when ohne Argument

Lassen Sie das Prüfobjekt weg, dann wird jeder Zweig zu einer booleschen Bedingung.

So ersetzen Sie eine Kette aus if/else if durch einen übersichtlichen Block.

fun main() {
    val temp = 18
    val feel = when {
        temp < 0 -> "Freezing"
        temp < 15 -> "Cold"
        temp < 25 -> "Mild"
        else -> "Hot"
    }
    println(feel)
}

Bereiche in Zweigen

Zweige können mit in Bereiche prüfen.

Damit lassen sich numerische Kategorien sehr natürlich ausdrücken.

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

Typprüfungen in Zweigen

Zweige können mit is Typen prüfen.

Das Ergebnis jedes Zweigs kann unterschiedlich sein, und when gibt den gemeinsamen Typ zurück.

fun describe(x: Any): String = when (x) {
    is Int -> "Integer"
    is String -> "Text"
    else -> "Unknown"
}

fun main() {
    println(describe(42))
    println(describe("hi"))
}

Blöcke in Zweigen

Ein Zweig kann aus einem Block mit mehreren Anweisungen bestehen. Der letzte Ausdruck im Block ist sein Wert.

fun main() {
    val n = 5
    val result = when {
        n > 0 -> {
            val doubled = n * 2
            "Positive, doubled is " + doubled
        }
        else -> "Non-positive"
    }
    println(result)
}

when direkt zurückgeben

Eine Funktion kann einen when-Ausdruck direkt mit einem einzeiligen Funktionskörper zurückgeben.

Das ist ein sehr verbreiteter, übersichtlicher Kotlin-Stil.

fun sign(n: Int): String = when {
    n > 0 -> "positive"
    n < 0 -> "negative"
    else -> "zero"
}

fun main() {
    println(sign(-4))
}

Das Prüfobjekt erfassen

Sie können das Prüfobjekt innerhalb von when deklarieren, sodass es in den Zweigen verfügbar ist.

So bleibt ein temporärer Wert auf einen engen Gültigkeitsbereich beschränkt.

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 zusammenführen

Als Ausdruck ist when ein leistungsfähiger Wertlieferant:

  • Jeder Zweig liefert ein Ergebnis
  • else macht den Ausdruck vollständig
  • Unterstützt Kommas, Bereiche, Typen und Blöcke
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))
}

Kurzer Test

Testen Sie Ihr Verständnis von when als Ausdruck.

Zusammenfassung

Sie haben gelernt, when als Ausdruck zu verwenden:

  • Es gibt den Wert des passenden Zweigs zurück
  • Benötigt else, um vollständig zu sein
  • Unterstützt Kommas, Bereiche, Typprüfungen und Blöcke

Als Nächstes erfahren Sie, wie Smart Casts dem Compiler ermöglichen, Typen für Sie einzugrenzen.

Häufig gestellte Fragen

Ist die Lektion „when als Ausdruck“ kostenlos?

Ja — der vollständige Text von „when als Ausdruck“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kotlin Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „when als Ausdruck“?

Geben Sie Werte aus when zurück Du übst Kotlin Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Kotlin Academy zu starten?

Keine Vorkenntnisse erforderlich. Kotlin Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „when als Ausdruck“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Kotlin Academy-Lektion Code schreiben und ausführen?

Ja. Jede Kotlin Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. when als Ausdruck
  2. Smart Casts
  3. Operatoren is und as
  4. Vollständiges when
← Zurück zu Kotlin Academy