English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Bucle for en Kotlin

El bucle for en Kotlin recorre cualquier objeto que proporcione un iterador. En este artículo, aprenderá cómo crear un bucle for (con ejemplos).

Diferente a Java y otros lenguajes, Kotlin no tieneBucle for tradicional.

En Kotlin, el bucle for se utiliza para recorrer rangos, arrays, mapeos, etc. (cualquier objeto que proporcione un iterador).

La sintaxis del bucle for en Kotlin es:

for (item in collection) {
    //Cuerpo del bucle
}

Ejemplo: recorrer un rango

fun main(args: Array<String>) {
    for (i in 1..5) {
        println(i)
    }
}

Aquí, el bucle recorre el rango e imprime un solo elemento.

Al ejecutar este programa, la salida será:

1
2
3
4
5

Si el cuerpo del bucle solo contiene una declaración (como en los ejemplos anteriores), no es necesario usar llaves { }.

fun main(args: Array<String>) {
    for (i in 1..5) println(i)
}

Se puede recorrer un rango con un bucle for, ya que range proporciona un iterador.

Ejemplo: diferentes métodos para recorrer un rango

fun main(args: Array<String>) {
    print("for (i in 1..5) print(i) = ")
    for (i in 1..5) print(i)
    println()
    print("for (i in 5..1) print(i) = ")
    for (i in 5..1) print(i)             // no imprime nada
    println()
    print("for (i in 5 downTo 1) print(i) = ")
    for (i in 5 downTo 1) print(i)
    println()
    print("for (i in 1..4 step 2) print(i) = ")
    for (i in 1..5 step 2) print(i)
    println()
    print("for (i in 4 downTo 1 step 2) print(i) = ")
    for (i in 5 downTo 1 step 2) print(i)
}

Al ejecutar este programa, la salida será:

for (i in 1..5) print(i) = 12345
for (i in 5..1) print(i) = 
for (i in 5 downTo 1) print(i) = 54321
for (i in 1..4 step 2) print(i) = 135
for (i in 4 downTo 1 step 2) print(i) = 531

Recorrer el array

Este es un ejemplo de recorrer un array de cadenas.

fun main(args: Array<String>) {
    var language = arrayOf("Ruby", "Koltin", "Python" "Java")
    for (item in language)
        println(item)
}

Al ejecutar este programa, la salida será:

Ruby
Koltin
Python
Java

Se puede recorrer un array con índices. Por ejemplo,

fun main(args: Array<String>) {
    var language = arrayOf("Ruby", "Koltin", "Python", "Java")
    for (item in language.indices) {
        //imprimir solo los elementos del array con índices pares
        if (item2 == 0) {}}
            println(language[item])
        }
        
    }
}

Al ejecutar este programa, la salida será:

Ruby
Python

Recorrer la cadena

fun main(args: Array<String>) {
    var text = "Kotlin"
    for (letter in text) {
        println(letter)
    }
}

Al ejecutar este programa, la salida será:

K
o
t
l
i
n

Al igual que los arrays, puede usar índices para recorrer cadenas. Por ejemplo,

fun main(args: Array<String>) {
    var text = "Kotlin"
    for (item in text.indices) {
        println(text[item])
    }
}

Al ejecutar este programa, la salida será:

K
o
t
l
i
n