Menu
Coddy logo textTech

When com Intervalos

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

Às vezes, você precisa verificar se um valor está dentro de um intervalo, em vez de corresponder a valores específicos. A expressão when oferece suporte a isso usando a palavra-chave in combinada com intervalos.

fun main() {
    val score = 85
    
    val grade = when (score) {
        in 90..100 -> "A"
        in 80..89 -> "B"
        in 70..79 -> "C"
        in 60..69 -> "D"
        else -> "F"
    }
    
    println(grade)  // Imprime: B
}

A palavra-chave in verifica se o valor existe dentro do intervalo especificado. Aqui, 85 está dentro de 80..89, então a nota é "B". Isso é muito mais limpo do que escrever score >= 80 && score <= 89 para cada condição.

Você também pode combinar intervalos com valores específicos na mesma expressão when:

fun main() {
    val age = 17
    
    val category = when (age) {
        0 -> "Newborn"
        in 1..12 -> "Child"
        in 13..19 -> "Teenager"
        else -> "Adult"
    }
    
    println(category)  // Imprime: Teenager
}

Intervalos tornam seu código mais legível ao lidar com condições numéricas contínuas, o que é comum em sistemas de notas, categorias de idade e cenários semelhantes.

challenge icon

Desafio

Fácil

Escreva uma função getTicketPrice que receba age e retorne o preço do ingresso com base na categoria de idade da pessoa.

Use uma expressão when com intervalos para determinar o preço apropriado do ingresso.

Condições:

  • Idade de 0 a 3: retorne 0 (gratuito)
  • Idade de 4 a 12: retorne 10 (preço infantil)
  • Idade de 13 a 17: retorne 15 (preço para adolescentes)
  • Idade de 18 a 64: retorne 25 (preço adulto)
  • Idade de 65 ou mais: retorne 12 (preço para idosos)

Parâmetros:

  • age (Int): A idade da pessoa

Retorno: O preço do ingresso como um número inteiro (Int)

Experimente você mesmo

fun getTicketPrice(age: Int): Int {
    // Escreva o código aqui
}
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