Menu
Coddy logo textTech

If come espressione

Fa parte della sezione Fondamenti del percorso Kotlin di Coddy. Lezione 31 di 93.

Hai visto come if può essere usato in linea per scegliere tra due valori. Ma quando i tuoi blocchi if-else contengono più istruzioni, puoi comunque usare l’intera struttura come espressione: l’ultima espressione di ciascun ramo diventa il valore restituito.

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)  // Stampa: You got a passing score!
}

Ogni ramo può contenere più istruzioni, ma l’ultima espressione nel ramo è quella che viene restituita e assegnata alla variabile. In questo caso, la stringa nell’ultima riga di ogni blocco diventa il valore di message.

Funziona anche con catene di else if:

fun main() {
    val temperature = 25
    
    val description = if (temperature > 30) {
        "Hot"
    } else if (temperature > 20) {
        "Warm"
    } else {
        "Cool"
    }
    
    println(description)  // Stampa: Warm
}

Quando usi if come espressione, il ramo else è obbligatorio: Kotlin deve garantire che venga restituito un valore, indipendentemente da quale condizione sia vera.

challenge icon

Sfida

Facile

Ti viene fornita la seguente variabile:

val hours = 45

Usa un'espressione if con più istruzioni in ogni ramo per determinare lo stato della retribuzione di un lavoratore e creare un messaggio.

Crea una variabile payStatus usando un'espressione if:

  • Se hours è maggiore di 40:
    • Crea una variabile overtime uguale a hours - 40
    • L'ultima espressione dovrebbe essere "Overtime: $overtime extra hours"
  • Altrimenti:
    • Crea una variabile remaining uguale a 40 - hours
    • L'ultima espressione dovrebbe essere "Regular: $remaining hours until overtime"

Stampa il valore di payStatus.

Provalo tu

fun main() {
    val hours = 45
    
    // TODO: Scrivi il tuo codice qui sotto
    // Crea una variabile payStatus usando un'espressione if
    // Se hours > 40: crea la variabile overtime e restituisci "Overtime: $overtime extra hours"
    // Altrimenti: crea la variabile remaining e restituisci "Regular: $remaining hours until overtime"
    
    
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Kotlin