La Expresión continue en Kotlin

En este tutorial aprenderás acerca de la expresión continue en Kotlin y cómo puedes proceder a la siguiente iteración dentro de un bucle.

Expresión continue Simple

La expresión continue un una expresión de salto que solo se permite dentro de los cuerpos de los bucles. Su funcionalidad es saltar las sentencias de una iteración y pasar a la siguiente.

Se especifica con la palabra reservada continue para saltar la iteración actual del bucle más interno, si existe anidamiento.

while (loopExpression) {
    /*...*/
    if (ifExpression) {
        continue
    }
    /* Sentencias saltadas*/
}

Ejemplo:

Imprimir los múltiplos de 4 que existen en el conjunto del 1 al 20.

fun main() {
    for (i in 1..20) {
        if (i % 4 != 0) {
            continue
        }
        println(i)
    }
}

Para diferenciar las iteraciones innecesarias, asociadas a aquellos números no divisibles por cuatro, usaremos una expresión if que ejecute un salto con continue.

4
8
12
16
20

De esta manera solo se ejecutará la impresión de las iteraciones restantes.

Expresión continue Etiquetada

Al igual que break, la expresión continue puede ser usada en una forma etiquetada denotada con continue@etiqueta.

Donde etiqueta es el identificador del bucle etiquetado, al que deseas generar el salto de iteración.

Loop@ for(i in 1..5){
    for (j in 1..7) {
        if (ifExpression) {
            continue@Loop
        }
        /*Sentencias saltadas*/
    }
    /*Sentencias saltadas*/
}

Ejemplo:

Imprimir las posibles parejas entre los caracteres de "Develou" y "Kotlin", solo si la suma de sus enteros equivalentes en ASCII es menor o igual a 180.

fun main() {
    Loop@ for (d in "Develou") {
        for (k in "Kotlin") {
            if (d.toByte() + k.toByte() > 180) {
                continue@Loop
            }
            print("($k,$d)")
        }
        println() 
    }
}

La solución proveída usa un bucle for dentro de otro con el fin de comparar carácter a carácter.

El problema nos pide descartar las iteraciones irrelevantes de ambos bucles, es decir, cuando ambos caracteres convertidos a número, suman 180.

De esta forma, al anotar el bucle para los caracteres de "Develou" con Loop, podemos saltar tanto el print() de la pareja como el println() exterior.

El resultado en la salida sería:

(K,D)(o,D)(K,e)(K,e)

¿Qué Sigue?

En este tutorial viste como saltar iteraciones en bucles a través de la expresión continue en Kotlin. Ahora puedes dirigirte al tutorial de funciones en Kotlin para ejecutar conjuntos de sentencias como unidad.

Ú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!