Wyrażenie when
Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 32 z 93.
Gdy masz wiele konkretnych wartości do sprawdzenia, długie ciągi instrukcji else if mogą być trudne do odczytania. Kotlin udostępnia wyrażenie when jako czytelniejszą alternatywę do dopasowywania wartości do wielu możliwości.
fun main() {
val day = 3
val dayName = when (day) {
1 -> "Monday"
2 -> "Tuesday"
3 -> "Wednesday"
4 -> "Thursday"
5 -> "Friday"
else -> "Weekend"
}
println(dayName) // Wypisuje: Wednesday
}Wyrażenie when przyjmuje wartość i porównuje ją z każdą gałęzią. Gdy zostanie znalezione dopasowanie, zwracany jest odpowiadający mu wynik. Gałąź else obsługuje każdą wartość, która nie pasuje do wymienionych przypadków.
Możesz także dopasować wiele wartości w jednej gałęzi, oddzielając je przecinkami:
fun main() {
val day = 6
val type = when (day) {
1, 2, 3, 4, 5 -> "Weekday"
6, 7 -> "Weekend"
else -> "Invalid"
}
println(type) // Wypisuje: Weekend
}Wyrażenie when zwracające wartość musi być wyczerpujące: dla każdego możliwego wejścia musi zwracać wynik. Te przykłady z liczbami całkowitymi wymagają else, ale wyrażenie when typu Boolean z gałęziami true i false nie wymaga.
Wyzwanie
ŁatwyPodano następującą zmienną:
val month = 4Użyj wyrażenia when, aby określić porę roku na podstawie numeru miesiąca i zapisać wynik w zmiennej o nazwie season.
Warunki:
- Miesiące
12,1,2powinny zwracać"Winter" - Miesiące
3,4,5powinny zwracać"Spring" - Miesiące
6,7,8powinny zwracać"Summer" - Miesiące
9,10,11powinny zwracać"Fall" - Każda inna wartość powinna zwracać
"Invalid month"
Użyj wartości oddzielonych przecinkami w gałęziach when, aby grupować miesiące należące do tej samej pory roku.
Wyświetl wartość season.
Spróbuj swoich sił
fun main() {
val month = 4
// TODO: Napisz swój kod poniżej
// Użyj wyrażenia when, aby określić porę roku na podstawie miesiąca
// Zapisz wynik w zmiennej o nazwie 'season'
// Wyświetl wynik
println(season)
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory – część 1
Operatory arytmetyczneOperator moduloPrzypisanie z operatoremOperatory porównaniaPowtórka – proste działania matematyczne7Podstawowe wejście/wyjście
Funkcja printlnSzablony ciągów znakówWczytywanie danych przez ReadLineKonwersja typówPowtórka — lata do emeryturyPowtórka — prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneArgumenty nazwaneWartości domyślneFunkcje z pojedynczym wyrażeniemPowtórka – funkcja SigmaPowtórka – funkcja walidująca2Zmienne
Val a VarWnioskowanie o typieLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPowtórzenie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Operatory logiczne, część 3Operator trójargumentowy z wyrażeniem ifPowtórka — prosta logika8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz3Obsługa wartości null
Czym jest bezpieczeństwo nullTypy dopuszczające nullOperator bezpiecznego wywołaniaOperator ElvisPodstawy wyzwania z funkcjamiAsercja wartości niebędącej nullPodsumowanie — bezpieczny dostęp6Podejmowanie decyzji
Instrukcja ifIf - elseIf jako wyrażenieWyrażenie whenWhen z zakresamiPowtórka — prosty kalkulator9Pętle
Pętla forPętla whilePętla do-whileBreakContinueZakresy w pętlachPętla zagnieżdżonaPowtórka – silniaPowtórka – dynamiczne wprowadzanie danychPoćwicz samodzielnie: Edytor online Kotlin