English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Expressão if no Kotlin

Neste artigo, você aprenderá a usar expressões if no Kotlin com exemplos.

Uso tradicional de if ... else

A sintaxe de if ... else é:

if (testExpression) {}
   //Se testExpression for true, execute o código
}
else {
  //Se testExpression for false, execute o código
}

Se o resultado da avaliação de testExpression for true, o código específico executado pelo if. Ele pode ter uma cláusula else opcional. Se testExpression for false, o código na cláusula else é executado.

Exemplo: uso tradicional de if ... else

fun main(args: Array<String>) {
    val number = -10
    if (number > 0) {
        print("Número positivo")
    } else {
        print("Número negativo")
    }
}

A saída do programa, ao executar, será:

Número negativo

Expressão if no Kotlin

Diferente do Java (e de muitos outros linguagens de programação), o if pode ser usado como expressão no Kotlin; ela retorna um valor.Leia mais: Expressão Kotlin

Este é um exemplo:

Exemplo: expressão if no Kotlin

fun main(args: Array<String>) {
    val number = -10
    val result = if (number > 0) {
        "Número positivo"
    } else {
        "Número negativo"
    }
    println(result)
}

A saída do programa, ao executar, será:

Número negativo

Quando o if é usado como uma expressão, a cláusula else é necessária.

Se o corpo do if contiver apenas uma instrução, os parênteses são opcionais. Por exemplo:

fun main(args: Array<String>) {
    val number = -10
    val result = if (number > 0) "Número positivo" else "Número negativo"
    println(result)
}

Isso é semelhante aOperador ternário no JavaPortanto, não há operador ternário no Kotlin.

Exemplo: bloco if com várias expressões

Se o bloco de ramificação if contiver várias expressões, a última expressão é retornada como o valor do bloco.

fun main(args: Array<String>) {
    val a = -9
    val b = -11
    val max = if (a > b) {
        println("$a maior que $b.")
        println("A variável max armazena o valor de a.")
        a
    } else {
        println("$b maior que $a.")
        println("A variável max armazena o valor de b.")
        b
    }
    println("max = $max")
}

A saída do programa, ao executar, será:

-9 Maior que -11.
A variável max armazena o valor de a.
max = -9

Escada if..else..if no Kotlin

Você pode usar a escada if..else...if em muitos blocos do Kotlin para retornar um bloco de código.

Por exemplo: if ... else ... if de escada

fun main(args: Array<String>) {
    val number = 0
    val result = if (number > 0)
        "Número positivo"
    else if (number < 0)
        "Número negativo"
    else 
        "Zero"
    
    println("O número é 
esult")
}

Este programa verifica se o número é positivo, negativo ou zero.

Expressão if aninhada no Kotlin

Uma expressão if pode estar dentro de um bloco de outra expressão if, chamada expressão if aninhada.

Exemplo: Expressão if aninhada

Este programa calcula o maior dos três números.

fun main(args: Array<String>) {
    val n1 = 3
    val n2 = 5
    val n3 = -2
    val max = if (n1 > n2) {
        if (n1 > n3)
            n1
        else
            n3
    } else {
        if (n2 > n3)
            n2
        else
            n3
    }
    println("max = $max")
}

A saída do programa, ao executar, será:

max = 5