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

Expresión if en Kotlin

En este artículo, aprenderás a usar la expresión if en Kotlin con ejemplos.

El uso tradicional de if ... else

La sintaxis de if ... else es:

if (testExpression) {}}
   //Si testExpression es true, se ejecuta el código
}
else {
  //Si testExpression es false, se ejecuta el código
}

Si el resultado de la evaluación de testExpression es true, se ejecuta la parte específica del código del if. Puede tener una cláusula else opcional. Si testExpression es false, se ejecuta el código de la cláusula else.

Ejemplo: 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")
    }
}

La salida cuando se ejecuta el programa es:

Número negativo

Expresión if en Kotlin

Diferente de Java (y de muchos otros lenguajes de programación), if en Kotlin se puede usar como expresión; devuelve un valor.Recomendado para leer: Expresión en Kotlin

Este es un ejemplo:

Ejemplo: expresión if en Kotin

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

La salida cuando se ejecuta el programa es:

Número negativo

Cuando se utiliza if como expresión, la rama else es obligatoria.

Si el cuerpo del if solo tiene una语句,llaves son opcionales. Por ejemplo:

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

Es similar aOperador ternario en JavaPor lo tanto, en Kotlin no hay operador ternario.

Ejemplo: bloque if con múltiples expresiones

Si el bloque de expresiones if contiene múltiples expresiones, la última expresión se devuelve como el valor del bloque.

fun main(args: Array<String>) {
    val a = -9
    val b = -11
    val max = if (a > b) {
        println("$a mayor que $b.")
        println("La variable max guarda el valor de a.")
        a
    } else {
        println("$b mayor que $a.")
        println("La variable max guarda el valor de b.")
        b
    }
    println("max = $max")
}

La salida cuando se ejecuta el programa es:

-9 Mayor que -11.
La variable max guarda el valor de a.
max = -9

Escalera if..else..if en Kotlin

Puedes usar la escalera if..else...if en muchos bloques de Kotlin para retornar un bloque de código.

Por ejemplo: if ... else ... if escalera

fun main(args: Array<String>) {
    val number = 0
    val result = if (number > 0)
        "Número positivo"
    else if (number < 0)
        "Número negativo"
    else 
        "Cero"
    
    println("El número es \t$result")
}

Este programa verifica si el número es positivo, negativo o cero.

Expresión if anidada en Kotlin

Una expresión if puede estar dentro del bloque de otra expresión if, lo que se llama expresión if anidada.

Ejemplo: if expresión anidada

Este programa calcula el número más grande de tres 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")
}

La salida cuando se ejecuta el programa es:

max = 5