Menu
Coddy logo textTech

If como expresión

Parte de la sección Fundamentos del Journey de Kotlin de Coddy. Lección 31 de 93.

Has visto cómo se puede usar if en línea para elegir entre dos valores. Pero cuando tus bloques if-else contienen varias instrucciones, aún puedes usar toda la estructura como una expresión: la última expresión de cada rama se convierte en el valor devuelto.

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)  // Imprime: ¡Obtuviste una puntuación de aprobado!
}

Cada rama puede contener varias instrucciones, pero la expresión última de la rama es la que se devuelve y se asigna a la variable. En este caso, la cadena de la línea final de cada bloque se convierte en el valor de message.

Esto también funciona con cadenas de else if:

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

Al usar if como expresión, la rama else es obligatoria: Kotlin debe garantizar que se devuelva un valor independientemente de qué condición sea verdadera.

challenge icon

Desafío

Fácil

Se te proporciona la siguiente variable:

val hours = 45

Usa una expresión if con varias instrucciones en cada rama para determinar el estado de pago de un trabajador y crear un mensaje.

Crea una variable payStatus usando una expresión if:

  • Si hours es mayor que 40:
    • Crea una variable overtime igual a hours - 40
    • La última expresión debe ser "Overtime: $overtime extra hours"
  • En caso contrario:
    • Crea una variable remaining igual a 40 - hours
    • La última expresión debe ser "Regular: $remaining hours until overtime"

Imprime el valor de payStatus.

Pruébalo tú mismo

fun main() {
    val hours = 45
    
    // TODO: Escribe tu código debajo
    // Crea una variable payStatus usando una expresión if
    // Si hours > 40: crea la variable overtime y devuelve "Overtime: $overtime extra hours"
    // De lo contrario: crea la variable remaining y devuelve "Regular: $remaining hours until overtime"
    
    
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de Kotlin