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

Kotlin orientato agli oggetti (OOP)

Cicli while e do...while in Kotlin

I cicli vengono utilizzati nella programmazione per ripetere un blocco di codice specifico fino a quando non si soddisfa una condizione specifica (l'espressione di test è false). Nell'articolo di oggi, imparerai a creare cicli while e do...while nel linguaggio di programmazione Kotlin.

I cicli vengono utilizzati nella programmazione per ripetere un blocco di codice specifico fino a quando non si soddisfa una condizione specifica (l'espressione di test è false). Immagina di dover stampare una frase 50 volte sulla schermata. Bene, puoi farlo usando 50 volte la statement print (senza utilizzare un ciclo). E se dovessi stampare la stessa frase un milione di volte? Dovresti utilizzare un ciclo.

Imparerai gli esempi di questi due cicli while e do..while in questo articolo.

Se sei familiare conCicli while e do ... while in JavaAllora hai già familiarizzato con questi cicli in Kotlin.

Ciclo while in Kotlin

La sintassi del ciclo while è:

while (testExpression) {
    //Codice all'interno del corpo del ciclo while
}

Come funziona il ciclo while?

L'espressione di test tra parentesi èBooleanoEspressione.

Se il risultato del calcolo dell'espressione di test è true,

  • Le istruzioni all'interno del ciclo while vengono eseguite.

  • Poi, l'espressione di test viene valutata di nuovo.

Questo processo continua fino a quando l'espressione di test viene valutata come false.

Se il risultato del calcolo dell'espressione di test è false,

  • Il ciclo while è terminato.

Diagramma di flusso del ciclo while

Esempio: ciclo while in Kotlin

//Il programma stampa 5 volte
fun main(args: Array<String>) {
    var i = 1
    while (i <= 5) {
        println("Linea $i")
        ++i
    }
}

Quando si esegue questo programma, l'output è:

Linea 1
Linea 2
Linea 3
Linea 4
Linea 5

Attenzione, la语句 ++i all'interno del ciclo while. Dopo 5 iterazioni, la variabile i aumenterà a 6. Poi, l'espressione di test i <= 5 sarà valutata come false e il ciclo si concluderà.

Se il corpo del ciclo contiene solo una singola istruzione, non è necessario utilizzare parentesi graffe { }. 

Esempio: calcolo della somma dei numeri naturali

//Il programma calcola la somma dei numeri naturali da 1 a 100.
fun main(args: Array<String>) {
    var sum = 0
    var i = 100
    while (i != 0) {
        sum += i  // sum = sum + i;
        --i
    }
    println("sum = $sum")
}

Quando si esegue questo programma, l'output è:

sum = 5050

In questo caso, la variabile sum viene inizializzata a 0, allo stesso tempo i viene inizializzato a 100. In ogni iterazione del ciclo while, la variabile sum viene assegnata sum + i e il valore di i viene ridotto di 1 fino a quando i è uguale a 0.

1° iterazione: sum = 0+100 = 100, i = 99
2° iterazione: sum = 100+99 = 199, i = 98
3° iterazione: sum = 199+98 = 297, i = 97
... .. ...
... .. ...
99° iterazione: sum = 5047+2 = 5049, i = 1
100° iterazione: sum = 5049+1 = 5050, i = 0 (fine del ciclo)

Per ulteriori informazioni sull'espressione di test e sul modo in cui viene valutata, visita:ConfrontoEOperatori logici.

Ciclo do...while in Kotlin

Il ciclo do...while è simile al ciclo while, con una differenza fondamentale: il corpo del ciclo do...while viene eseguito una volta prima di verificare l'espressione di test.

La sua sintassi è:

do {
   //Codice all'interno del ciclo do...while
} while (testExpression);

Come funziona il ciclo do...while?

Il codice all'interno del corpo del do viene eseguito una volta (senza controllare testExpression). Poi, si verifica l'espressione di test.

Se l'espressione di test viene valutata come true, viene eseguito il codice all'interno del ciclo e quindi l'espressione di test viene valutata di nuovo. Questo processo continua fino a quando l'espressione di test viene valutata come false.

Quando l'espressione di test viene valutata come false, il ciclo do..while termina.

Diagramma di flusso del ciclo do ... while

Esempio: ciclo do ... while in Kotlin

Il seguente programma calcola la somma dei numeri inseriti dall'utente fino a quando l'utente non inserisce 0.

Per accettare l'input dell'utente, utilizzare la funzione readline().Leggi anche: Input Kotlin

fun main(args: Array<String>) {
    var sum: Int = 0
    var input: String
    do {
        print("Inserisci un intero: ")
        input = readLine()!!
        sum += input.toInt()
    } while (input != "0")
    println("sum = $sum")
}

Quando esegui il programma, l'output sarà come segue:

Inserisci un intero: 4
Inserisci un intero: 3
Inserisci un intero: 2
Inserisci un intero: -6
Inserisci un intero: 0
sum = 3