L'istruzione for in Kotlin

L'istruzione for() del linguaggio Kotlin mi permette di realizzare un ciclo. Esegue un blocco di codice per un numero definito di volte.

for(condizione) {
...
}

La condizione indica il numero di iterazioni da compiere. Può essere un range di valori o un oggetto iterabile.

    Un esempio pratico

    Questa struttura for() ripete il blocco di codice per tre volte.

    for(i in 1..3) {
    println(i)
    }

    La variabile i è la variabile contatore del ciclo mentre 1..3 è il range (inizio, fine) che determina il numero di cicli da compiere.

    L'output del programma è

    1
    2
    3

    Esempio 2

    La clausola step mi permette di definire il passo con la parola step.

    Il passo è l'incremento della variabile contatore dopo ogni iterazione. Di defaut è uguale a uno.

    for (i in 1..5 step 2) {
    println(i)
    }

    Nel precedente codice definisco il passo (step) pari a due.

    Quindi, l'output del ciclo è

    1
    3
    5

    I valori 2 e 4 non sono stampati perché il passo è +2 in un range da 1 a 5.

    Esempio 3

    Per fare il conteggio inverso devo usare una sintassi leggermente diversa.

    for (i in 3 downTo 1 step 1) {
    println(i)
    }

    Dove i è la variabile contatore che il valore iniziale è 3, downTo è il valore finale 1, step è la variazione in ogni ciclo.

    Il risultato in output è

    3
    2
    1

    Esempio 4

    L'istruzione for mi permette anche di leggere il contenuto di un oggetto iterabile.

    Ad esempio un array.

    val vettore = arrayOf("A", "B", "C")
    for (i in vettore.indices) {
    println(vettore[i])
    }

    L'output del programma è

    A
    B
    C

    Esempio 5

    Questa for legge gli elementi di un array numerico

    val numeri= intArrayOf(1,2,3)
    for (i in numeri.indices) {
    println(numeri[i])
    }

    L'output della struttura iterativa è

    1
    2
    3

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Kotlin