La Expresión break En Kotlin

En este tutorial te mostraremos el uso de la expresión break en Kotlin, para que termines tus bucles en una situación precisa. También veras el uso de etiquetas con break y varios ejemplos.

break Simple En Kotlin

La expresión break es una expresión de salto que se permite solo al interior de los bucles. Su objetivo es pasar el control al siguiente punto del programa luego del bucle, es decir, finalizar el bucle.

En su forma simple, se especifica la palabra reservada break, la cual provoca un salto de ruptura en la sentencia de bucle más interna del alcance actual.

Ejemplo: Imprimir la cantidad de caracteres de cada palabra que el usuario ingrese por teclado. Terminar la aplicación si escribe "salir".

fun main() {
    while (true) {
        print("Escribe una palabra:")
        val word = readLine()!!

        if (word == "salir") break

        println("Caracteres:${word.length}")
    }
}

El ejemplo muestra un bucle while que se ejecuta infinitamente. Precisamente usamos una sentencia break simple para terminar con la condición de que sea el string «salir».

Veamos otro ejemplo para un bucle dentro de otro.

Ejemplo: Comprobar que todos los valores de una matriz sean iguales a uno. De lo contrario especificar invalidez en la primera aparición encontrada de la fila.

fun main() {
    val matrix = arrayOf(
        intArrayOf(1, 1, 1),
        intArrayOf(0, 1, 0),
        intArrayOf(1, 1, 0),
    )

    for (row in matrix.indices) {
        for (col in matrix[row].indices) {
            if (matrix[row][col] == 0) {
                println("Matriz inválida en [$col,$row]")
                break
            }
        }
    }
}

El ejemplo muestra una matriz con tres posiciones inválidas: [0,1], [0,2] y [2,2]. Al recorrerla con un doble bucle for, se detecta la inconsistencia del primer cero y son impresos solo dos resultados.

Matriz inválida en [0,1]
Matriz inválida en [2,2]

La expresión break nos permitió terminar el bucle de filas prematuramente, asegurándonos de que nos es necesario perder tiempo en más comprobaciones.

break Etiquetado En Kotlin

Una expresión etiquetada break se define con la sintaxis break@etiqueta, donde etiqueta es el identificador de una sentencia de bucle etiquetada.

etiqueta@ for (i in 1..5) {
    /*...*/
}

El bucle se etiqueta con el símbolo @ como sufijo al identificador. Al declarar un break que apunte a la etiqueta, este se evaluará como un salto de ruptura de dicho bucle.

etiqueta@ for (i in 1..5) {
    for (j in 1..7) {
        if (...) break@etiqueta
    }
}

Por ejemplo: Modifiquemos el ejercicio de la matriz en la sección anterior. Ahora, al encontrar el primer cero se terminará la búsqueda.

fun main() {
    val matrix = arrayOf(
        intArrayOf(1, 1, 1),
        intArrayOf(0, 1, 0),
        intArrayOf(1, 1, 0),
    )

    Loop@ for (row in matrix.indices) {
        for (col in matrix[row].indices) {
            if (matrix[row][col] == 0) {
                println("Matriz inválida en [$col,$row]")
                break@Loop
            }
        }
    }
}

Hemos puesto en el bucle de las filas la etiqueta Loop@ e introducido el mecanismo de finalización con break@Loop. Al ejecutar la aplicación, la salida será:

Matriz inválida en [0,1]

¿Qué Sigue?

En este artículo has aprendido sobre la expresión de salto break en Kotlin para romper bucles. Prosigue con la expresión continue para finalizar solo iteraciones.

Únete Al Discord De Develou

Si tienes problemas con el código de este tutorial, preguntas, recomendaciones o solo deseas discutir sobre desarrollo Android conmigo y otros desarrolladores, únete a la comunidad de Discord de Develou y siéntete libre de participar como gustes. ¡Te espero!