Menu
Coddy logo textTech

When-Ausdruck

Teil des Abschnitts Grundlagen der Kotlin-Journey von Coddy. Lektion 32 von 93.

Wenn du mehrere bestimmte Werte überprüfen musst, können lange Ketten von else if-Anweisungen schwer lesbar werden. Kotlin bietet den when-Ausdruck als übersichtlichere Alternative, um einen Wert mit mehreren Möglichkeiten abzugleichen.

fun main() {
    val day = 3
    
    val dayName = when (day) {
        1 -> "Monday"
        2 -> "Tuesday"
        3 -> "Wednesday"
        4 -> "Thursday"
        5 -> "Friday"
        else -> "Weekend"
    }
    
    println(dayName)  // Gibt aus: Wednesday
}

Der when-Ausdruck nimmt einen Wert entgegen und vergleicht ihn mit jedem Zweig. Wenn eine Übereinstimmung gefunden wird, wird das entsprechende Ergebnis zurückgegeben. Der else-Zweig behandelt jeden Wert, der mit keinem der aufgeführten Fälle übereinstimmt.

Du kannst auch mehrere Werte in einem einzigen Zweig abgleichen, indem du sie durch Kommas trennst:

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

Ein wertproduzierendes when muss vollständig sein: Jede mögliche Eingabe muss ein Ergebnis haben. Diese ganzzahligen Beispiele benötigen else, aber ein boolesches when mit sowohl true- als auch false-Zweigen benötigt das nicht.

challenge icon

Aufgabe

Einfach

Dir wird die folgende Variable bereitgestellt:

val month = 4

Verwende einen when-Ausdruck, um die Jahreszeit anhand der Monatsnummer zu bestimmen, und speichere das Ergebnis in einer Variable namens season.

Bedingungen:

  • Die Monate 12, 1, 2 sollen "Winter" zurückgeben.
  • Die Monate 3, 4, 5 sollen "Spring" zurückgeben.
  • Die Monate 6, 7, 8 sollen "Summer" zurückgeben.
  • Die Monate 9, 10, 11 sollen "Fall" zurückgeben.
  • Jeder andere Wert soll "Invalid month" zurückgeben.

Verwende in deinen when-Zweigen durch Kommas getrennte Werte, um Monate zu gruppieren, die zur selben Jahreszeit gehören.

Gib den Wert von season aus.

Probier es selbst

fun main() {
    val month = 4
    
    // TODO: Schreibe deinen Code darunter
    // Verwende einen when-Ausdruck, um die Jahreszeit basierend auf dem Monat zu bestimmen
    // Speichere das Ergebnis in einer Variable namens 'season'
    
    
    // Gib das Ergebnis aus
    println(season)
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Kotlin-Playground