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.
Aufgabe
EinfachDir wird die folgende Variable bereitgestellt:
val month = 4Verwende 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,2sollen"Winter"zurückgeben. - Die Monate
3,4,5sollen"Spring"zurückgeben. - Die Monate
6,7,8sollen"Summer"zurückgeben. - Die Monate
9,10,11sollen"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)
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorErweiterte ZuweisungVergleichsoperatorenRückblick – Einfache Mathematik7Grundlegende Ein-/Ausgabe
println-FunktionString-VorlagenReadLine-EingabeTypkonvertierungWiederholung – Jahre bis zur RenteWiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteBenannte ArgumenteStandardwerteFunktionen mit einem AusdruckRückblick – Sigma-FunktionRückblick – Validierungsfunktion2Variablen
Val vs VarTypinferenzZahlenStringBooleanNamenskonventionenRückblick – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Logische Operatoren Teil 3Ternär mit If-AusdruckWiederholung – Einfache Logik8Rechner zum Aufteilen der Rechnung
WillkommensnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion3Nullbarkeit
Was ist Null-Sicherheit?Nullable-TypenOperator für sicheren AufrufElvis-OperatorGrundlagen der FunktionsaufgabeAssertion auf Nicht-NullRückblick – Sicherer Zugriff6Entscheidungen treffen
If-AnweisungIf - ElseIf als AusdruckWhen-AusdruckWhen mit BereichenRückblick - Einfacher Taschenrechner9Schleifen
For-SchleifeWhile-SchleifeDo-While-SchleifeBreakContinueBereiche in SchleifenVerschachtelte SchleifeRückblick – FakultätRückblick – Dynamische EingabeÜbe selbstständig: Kotlin-Playground