Ciclo for en Kotlin.

En este tutorial explicamos cómo usar el ciclo for en Kotlin. Explicamos la sintaxis y las distintas maneras en que se puede emplear este ciclo. Explicaremos el ciclo for con mas de una variable, y como explorar arreglos multidimensionales o matrices.

Ciclo for con el comando range, en Kotlin.

El comando range nos ayuda a generar una serie de números consecutivos. Si lo juntamos con el ciclo for(), podremos crear el ciclo for con números consecutivos.

La sintaxis es la siguiente:

For( i in 0..9)
{
   println(i)
}

// Imprimirá: 0 1 2 3 4 5 6 7 8 9

Los dos puntos “..” es el comando se se usa para indicar un rango. Es similar a:

0..9 es lo mismo que 0.rangeTo(9)

Y como es un código pequeño, se puede escribir en una sola línea así:

for(i in 0..9) println(i)

Mayor a menor.

Podemos hacer que el valor de i, cambie de mayor a menor usando lo siguiente:

for( i in 9.downTo(0))
{
   println(i)
}

// Imprimira: 9 8 7 6 5 4 3 2 1 0

Cambiando el paso al incrementar.

Podemos hacer que el ciclo for incremente de 2 en 2, o de 3 en 3, etc. En ves de 1 en 1.

for(i in 0..9 step(2))
{
   println(i)
}

// Imprimira: 0 2 4 6 8

El comando step() se lo podemos agregar a dwonTo(), a rangeTo(), etc.

Ciclo for con listas de datos y arreglos.

El siguiente código funciona igual para listOf() y para arrayOf().

Ciclo for, con el valor de la lista.

Otra manera de usar el ciclo for() en Kotlin, es con listas de datos. El ciclo for() recorrerá cada elemento de una lista de datos. La sintaxis es la siguiente.

val b = listOf("a","b","c","d","e")

for(i in b)
{
   println(i)
}

//Imprimira:  a b c d e

En el caso anterior ya no es una serie de números. Sino son todos los elementos de la lista.

Siendo un código pequeño, podemos escribirlo en una sola línea en Kotlin:

for(i in b) println(i)

Ciclo for, posición en ves del valor.

Si queremos que el ciclo for use números, pero ingresar una lista de datos, entonces hacemos lo siguiente:

val b = listOf("a","b","c","d","e")

for (i in b.indices) 
{
   println("La posición: " + i + "  Contiene: " + b[i])
}

//Imprimira:
La posición: 0  Contiene: a
La posición: 1  Contiene: b
La posición: 2  Contiene: c
La posición: 3  Contiene: d
La posición: 4  Contiene: e

Funciona exactamente igual para los arreglos, en lugar de listOf() usaremos arrayOf().

Ciclo for, con dos variables (posición y valor).

Si queremos tener a la mano la posición y valor de la lista podemos hacer un ciclo for con 2 variables, usando el comando withIndex(), con la siguiente sintaxis:

for ((pos,valor) in b.withIndex())
{
   println("La posición: " + pos + "  Contiene: " + valor)
}

Ciclo for en una matriz, arreglo multidimensional. 

Si tenemos una matriz de datos, es decir una serie de arreglos o listas anidadas. Como se muestra a continuación:

val d = arrayOf(arrayOf("Numero","Letra","Animal"),
arrayOf("1","g","Gato"),
arrayOf("2","p","Perro"),
arrayOf("3","r","Ratón"))

Tenemos esta matriz con 4 filas y 3 columnas.

Podemos recorrer todos los valores de la matriz con un solo ciclo for. No necesitaremos dos  para recorrer todos los valores.

Ya que podemos declarar la variable del ciclo for, con 3 variables (“Numero”,”Letra”,”Animal”).

La sintaxis es la siguiente:

for ((num, letra, animal) in d) 
{
   println(num + " " + letra + " " + animal )
}

Imprimira:
Numero Letra Animal
1 g Gato
2 p Perro
3 r Ratón

Con esto podemos acceder a todos los datos de la matriz, usando solamente un ciclo for.

Para más tutoriales de Kotlin ve a l subcategoría Kotlin.