Bucles o estructuras de repetición II: while



Siguiendo la serie sobre estructuras de repetición (ver Bucles o estructuras de repetición I: for), while es otra instrucción que permite controlar el flujo de un programa mediante bucles o ciclos repetitivos.

La sintaxis de while es:
while (expresión evaluada) {
    // cuerpo del bucle
}
Donde la expresión evaluada o condición entre paréntesis es una expresión booleana, que si es evaluada como verdadera da lugar a la ejecución de las sentencias del cuerpo del bucle y luego se vuelve a revaluar la expresión, y este proceso continúa en bucle hasta que la expresión es considerada falsa (para evitar escribir bucles infinitos no deseados necesitamos que dentro del bucle se actualice el valor que usemos en la expresión evaluada). Algunos ejemplos:
// imprime del 5 al 1
var x = 5    
while (x > 0) {  // true mientras x es mayor que 0
    println(x--)
}

// imprime 5 líneas (o una línea 5 veces)
var i = 1
while (i <= 5) { // true mientras i es menor o igual a 5
    println("Línea $i")
    ++i
}

// calcula la suma de los números desde el 1 al 100
var suma = 0
var i = 100
while (i != 0) { // true mientras i es distinta a 0
    suma += i // suma = suma + i
    --i
}
println("suma = $suma")

// recorre una lista
val frutas = listOf("pera", "manzana", "melon")
var index = 0
while (index < frutas.size) { // true mientras index es menor que el tamaño de la lista frutas
    println("el item en $index es ${frutas[index]}")
    index++
}
Una variante de while es do...while que es similar excepto porque evalúa la condición al final del bucle y esto supone que, a diferencia de while que podría no ejecutar el bloque, do...while ejecuta el cuerpo del bucle al menos una vez.

Comentarios

Entradas populares

I/O: entrada y salida de datos en consola

Recursos gratis para aprender Kotlin

Lectura y escritura de archivos