Menu
Coddy logo textTech

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.

challenge icon

Wyzwanie

Łatwy

Otrzymujesz następującą zmienną:

val hours = 45

Uż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 hours jest większe niż 40:
    • Utwórz zmienną overtime równą hours - 40
    • Ostatnim wyrażeniem powinno być "Overtime: $overtime extra hours"
  • W przeciwnym razie:
    • Utwórz zmienną remaining równą 40 - hours
    • Ostatnim wyrażeniem powinno być "Regular: $remaining hours until overtime"

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"
    
    
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Kotlin