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

Ciclo for in Kotlin

Il ciclo for in Kotlin scansiona qualsiasi oggetto che fornisce un iteratore. In questo articolo, imparerai come creare un ciclo for (con esempi).

A differenza di Java e altri linguaggi, in Kotlin non c'èCiclo for tradizionale.

In Kotlin, il ciclo for viene utilizzato per scansionare intervalli, array, mappature ecc. (ogni oggetto che fornisce un iteratore).

La sintassi del ciclo for in Kotlin è:

for (item in collection) {
    //corpo del ciclo
}

Esempio: scansione dell'intervallo

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

Ecco, viene eseguita una scansione ricorsiva dell'intervallo e viene stampato un singolo elemento.

Quando si esegue questo programma, l'output è:

1
2
3
4
5

Se il corpo del ciclo contiene solo una singola istruzione (come negli esempi precedenti), non è necessario utilizzare le parentesi graffe { }.

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

È possibile percorrere un intervallo con un ciclo for, poiché range fornisce un iteratore.

Esempio: diversi metodi per percorrere un intervallo

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) // stampa nulla
    println()
    print("for (i in 5..1) print(i) = ")
    for (i in 5..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..1 step -2) print(i) = ")
    for (i in 5..1 step -2) print(i)
}

Quando si esegue questo programma, l'output è:

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

Percorrere l'array

Questo è un esempio di come percorrere un array di stringhe.

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

Quando si esegue questo programma, l'output è:

Ruby
Koltin
Python
Java

è possibile percorrere un array con indici. Ad esempio,

fun main(args: Array<String>) {
    var language = arrayOf("Ruby", "Koltin", "Python", "Java")
    for (item in language.indices) {
        // stampa solo gli elementi dell'array con indici pari
        if (item % 2 == 0) {
            println(language[item])
        }
        
    }
}

Quando si esegue questo programma, l'output è:

Ruby
Python

Esplorazione della stringa

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

Quando si esegue questo programma, l'output è:

K
o
t
l
i
n

Come per gli array, è possibile esplorare le stringhe utilizzando l'indice. Ad esempio,

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

Quando si esegue questo programma, l'output è:

K
o
t
l
i
n