Menu
Coddy logo textTech

If como Expressão

Parte da seção Fundamentos do Journey de Kotlin da Coddy. Lição 31 de 93.

Você viu como if pode ser usado em uma única linha para escolher entre dois valores. Mas, quando seus blocos if-else contêm várias instruções, você ainda pode usar toda a estrutura como uma expressão: a última expressão de cada ramo se torna o valor retornado.

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

Cada ramo pode conter várias instruções, mas a última expressão no ramo é o que é retornado e atribuído à variável. Nesse caso, a string na linha final de cada bloco torna-se o valor de message.

Isso também funciona com cadeias 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
}

Ao usar if como uma expressão, o ramo else é obrigatório: Kotlin precisa garantir que um valor seja retornado independentemente de qual condição seja verdadeira.

challenge icon

Desafio

Fácil

Você recebe a seguinte variável:

val hours = 45

Use uma expressão if com várias instruções em cada ramo para determinar o status de pagamento de um trabalhador e criar uma mensagem.

Crie uma variável payStatus usando uma expressão if:

  • Se hours for maior que 40:
    • Crie uma variável overtime igual a hours - 40
    • A última expressão deve ser "Overtime: $overtime extra hours"
  • Caso contrário:
    • Crie uma variável remaining igual a 40 - hours
    • A última expressão deve ser "Regular: $remaining hours until overtime"

Imprima o valor de payStatus.

Experimente você mesmo

fun main() {
    val hours = 45
    
    // TODO: Escreva seu código abaixo
    // Crie uma variável payStatus usando uma expressão if
    // Se hours > 40: crie a variável overtime e retorne "Overtime: $overtime extra hours"
    // Caso contrário: crie a variável remaining e retorne "Regular: $remaining hours until overtime"
    
    
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Playground de Kotlin