If jako wyrażenie
Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 31 z 93.
Widziałeś już, jak można użyć if w jednej linii, aby wybrać jedną z dwóch wartości. Ale gdy bloki if-else zawierają wiele instrukcji, nadal możesz użyć całej struktury jako wyrażenia: ostatnie wyrażenie w każdej gałęzi staje się zwracaną wartością.
fun main() {
val score = 85
val message = if (score >= 60) {
val grade = "passing"
"You got a $grade score!"
} else {
val grade = "failing"
"You got a $grade score."
}
println(message) // Wypisuje: Otrzymałeś pozytywny wynik!
}Każda gałąź może zawierać wiele instrukcji, ale to ostatnie wyrażenie w gałęzi jest zwracane i przypisywane do zmiennej. W tym przypadku ciąg znaków w ostatnim wierszu każdego bloku staje się wartością message.
To działa również z łańcuchami else if:
fun main() {
val temperature = 25
val description = if (temperature > 30) {
"Hot"
} else if (temperature > 20) {
"Warm"
} else {
"Cool"
}
println(description) // Wypisuje: Warm
}Gdy używasz if jako wyrażenia, gałąź else jest wymagana: Kotlin musi zagwarantować, że zostanie zwrócona wartość niezależnie od tego, który warunek jest prawdziwy.
Wyzwanie
ŁatwyOtrzymujesz następującą zmienną:
val hours = 45Użyj wyrażenia if z wieloma instrukcjami w każdej gałęzi, aby określić status wynagrodzenia pracownika i utworzyć komunikat.
Utwórz zmienną payStatus przy użyciu wyrażenia if:
- Jeśli
hoursjest większe niż 40:- Utwórz zmienną
overtimerównąhours - 40 - Ostatnim wyrażeniem powinno być
"Overtime: $overtime extra hours"
- Utwórz zmienną
- W przeciwnym razie:
- Utwórz zmienną
remainingrówną40 - hours - Ostatnim wyrażeniem powinno być
"Regular: $remaining hours until overtime"
- Utwórz zmienną
Wypisz wartość payStatus.
Spróbuj swoich sił
fun main() {
val hours = 45
// TODO: Napisz swój kod poniżej
// Utwórz zmienną payStatus, używając wyrażenia if
// Jeśli hours > 40: utwórz zmienną overtime i zwróć "Overtime: $overtime extra hours"
// W przeciwnym razie: utwórz zmienną remaining i zwróć "Regular: $remaining hours until overtime"
}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