Kotlin

Ciclos en Kotlin: while, for y do while

En este post voy a hablar sobre los ciclos o loops en el lenguaje de programación Kotlin.

Kotlin tiene los tres ciclos básicos o esenciales:

  1. for
  2. while
  3. do while

Ciclo for

El ciclo for es más utilizado para recorrer arreglos o rangos. No se puede declarar una variable dentro del ciclo, de hecho su declaración es omitida y se parece más al foreach de Java.

// Ciclo del 0 al 9
// usando un rango
// https://parzibyte.me/blog/2019/07/05/rangos-kotlin/
val rangoDeNumeros = 0..9
for (numero in rangoDeNumeros) {
    println(numero)
}

// Recorrer un arreglo
// Más sobre arreglos: https://parzibyte.me/blog/2019/07/02/arreglos-kotlin/
val nombres = arrayOf("John Galt", "Dagny Taggart", "Hank Rearden")
for (nombre in nombres) {
    println(nombre)
}

Como lo ves, para un ciclo que sería algo así:

for(var i = 0; i < 10; i++)

Se usa un rango con  0..9

Ciclo while

El ciclo while permite repetir determinada cosa mientras una condición se cumpla.

// Ciclo con while y contadores
var contador = 5
while (contador > 0) {
    println("Cuenta regresiva: $contador")
    contador--
}

Con un ciclo while se puede iterar un arreglo igualmente (la longitud del arreglo se obtiene con size):

// Recorrer un arreglo:
var indice = 0
while (indice < nombres.size) {
    println("Un nombre: ${nombres[indice]}")
    indice++
}

Una cosa que no es posible con los rangos es iterar con flotantes, pues bien, con un ciclo while es totalmente posible:

// Ciclo con flotantes
var contadorFlotantes = 0.1
while (contadorFlotantes < 1.0) {
    println("Contando del 0.1 al 1.0: $contadorFlotantes")
    contadorFlotantes += 0.1
}

Do while en Kotlin

Recuerda que la diferencia entre do while y while es que do while se ejecuta al menos una vez, incluso si la condición es falsa:

do {
    println("Me ejecuto una vez")
} while (false)

Con do while se puede hacer lo mismo que con los otros ciclos, tomando en cuenta la diferencia que ya mencioné.

Veamos un ejemplo:

// También existe el do while
var otroContador = 0
do {
    println("Contador: $otroContador")
    otroContador++
} while (otroContador < 5)

Repasando

En resumen, si quieres ir paso a paso en un rango, usa for con rangos. Lo mismo si quieres recorrer un arreglo.

Si quieres un ciclo más común, usa while.

Los ciclos do while casi no son usados, pero eso no significa que sean malos

Vamos a poner todo lo aprendido en el siguiente código:

fun main(argumentos: Array<String>) {
    /**
     * Ciclos en Kotlin:
     * while
     * do while
     * for
     *
     * @author parzibyte
     * @link https://parzibyte.me/blog
     * */
    // Ciclo del 0 al 9
    // usando un rango
    // https://parzibyte.me/blog/2019/07/05/rangos-kotlin/
    val rangoDeNumeros = 0..9
    for (numero in rangoDeNumeros) {
        println(numero)
    }

    // Recorrer un arreglo
    // Más sobre arreglos: https://parzibyte.me/blog/2019/07/02/arreglos-kotlin/
    val nombres = arrayOf("John Galt", "Dagny Taggart", "Hank Rearden")
    for (nombre in nombres) {
        println(nombre)
    }

    // Ciclo con while y contadores
    var contador = 5
    while (contador > 0) {
        println("Cuenta regresiva: $contador")
        contador--
    }

    do {
        println("Me ejecuto una vez")
    } while (false)

    // También existe el do while
    var otroContador = 0
    do {
        println("Contador: $otroContador")
        otroContador++
    } while (otroContador < 5)

    // Recorrer un arreglo:
    var indice = 0
    while (indice < nombres.size) {
        println("Un nombre: ${nombres[indice]}")
        indice++
    }

    // Ciclo con flotantes
    var contadorFlotantes = 0.1
    while (contadorFlotantes < 1.0) {
        println("Contando del 0.1 al 1.0: $contadorFlotantes")
        contadorFlotantes += 0.1
    }

}

Prueba el código en el playground.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Compartir
Publicado por
parzibyte

Entradas recientes

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

3 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

4 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

3 semanas hace

Esta web usa cookies.