Tanto el bucle for, while, y do-while nos van a servir en Kotlin para realizar tareas repetitivas de todo tipo.
El bucle for de Kotlin
Sintaxis básica
Esta es la sintaxis básica del bucle for:
for (variable in rango) { // Bloque de código }
«variable», es una variable que obtiene el valor de cada elemento en el rango o colección durante cada iteración del bucle.
«in» se utilizará para indicar sobre que elemento en el rango o colección itera la variable.
«rango» será el rango numérico o una colección de elementos.
Iteración sobre rangos
Iteración incremental
Por ejemplo, si queremos iterar un rango del 1 al 6, lo haremos así:
fun main() { for (i in 1..6) { println(i) } }
Resultado en la consola
1
2
3
4
5
6
Iteración decremental
Si queremos hacerlo a la inversa, así:
fun main() { for (i in 6 downTo 1) { println(i) } }
Resultado en la consola
6
5
4
3
2
1
Iteración con saltos
Se pueden aplicar saltos en la iteración de un rango:
fun main() { for (i in 0 .. 12 step 2) { println(i) } }
Resultado en la consola
0
2
4
6
8
10
12
El bucle while de Kotlin
Sintaxis básica
El bucle while de Kotlin tiene una sintaxis bastante diferente del bucle for:
while (condición) { // Bloque de código // Incremento o decremento }
Cada iteración de este tipo de bucle se hace basándose en una evaluación booleana. Mientras esta sea true, se seguirá ejecutando.
Veamos un ejemplo con incremento:
fun main() { var iterador = 1 while (iterador < 6){ println(iterador) iterador++ } }
Resultado en la consola
1
2
3
4
5
Ahora, con decremento:
fun main() { var iterador = 10 while (iterador > 6){ println(iterador) iterador-- } }
Resultado en la consola
10
9
8
7
Bucle do-while de Kotlin
El bucle do-while es igual que el bucle while, con la diferencia clave de que se va a ejecutar siempre al menos una vez, independientemente de si la expresión se cumple o no.
Sintaxis básica
do { // Bloque de código a repetir } while (condición)
En el siguiente ejemplo, no se cumple la expresión del while, pero puesto que el bucle do está antes de esta, se ejecuta una vez, y luego comprueba si se cumple la expresión.
fun main() { var iterador = 10 do { println(iterador) iterador++ } while (iterador > 15) }
Resultado en la consola
10
Si la expresión se cumple desde un principio, no hay diferencia con la ejecución de un bucle while normal:
fun main() { var iterador = 10 do { println(iterador) iterador++ } while (iterador < 15) }
Resultado en la consola
10
11
12
13
14
Esta es una visión bastante simplificada del potencial de estos bucles. Si quieres aprender mucho más, guarda este blog en favoritos, ya que publicaré un curso mucho más completo que este, con todo lujo de detalles.
No te pierdas nada del curso de Kotlin.