Loop viene utilizzato nella programmazione per ripetere un blocco di codice specifico. In questo articolo imparerai a creare cicli while e do … while nella programmazione Kotlin.
Loop viene utilizzato nella programmazione per ripetere uno specifico blocco di codice fino a quando non viene soddisfatta una determinata condizione (l'espressione di test è false)
.
I loop sono ciò che rende i computer macchine interessanti. Immagina di dover stampare una frase 50 volte sullo schermo. Bene, puoi farlo usando l'istruzione print 50 volte (senza usare i loop). Che ne dici di stampare una frase un milione di volte? Devi usare i loop.
Imparerai a conoscere due loop while
e do… while
in questo articolo con l'aiuto di esempi.
Se hai familiarità con i cicli while e do … while in Java, hai già familiarità con questi cicli anche in Kotlin.
Kotlin mentre Loop
La sintassi del while
loop è:
while (testExpression) (// codici all'interno del corpo del ciclo while)
Come funziona il ciclo while?
L'espressione di prova tra parentesi è un'espressione booleana.
Se l'espressione di test viene valutata in true
,
- vengono eseguite le istruzioni all'interno del ciclo while.
- quindi, l'espressione di test viene valutata di nuovo.
Questo processo continua finché non viene valutata l'espressione di test false
.
Se l'espressione di test viene valutata in false
,
- mentre il ciclo è terminato.
Diagramma di flusso del ciclo while
Esempio: Kotlin while Loop
// Programma per stampare la riga 5 volte fun main(args: Array) ( var i = 1 while (i <= 5) ( println("Line $i") ++i ) )
Quando esegui il programma, l'output sarà:
Linea 1 Linea 2 Linea 3 Linea 4 Linea 5
Nota, ++i
dichiarazione all'interno del while
ciclo. Dopo 5 iterazioni, la variabile i verrà incrementata a 6. Quindi, l'espressione di test i <= 5
viene valutata false
e il ciclo termina.
Se il corpo del ciclo ha una sola istruzione, non è necessario utilizzare le parentesi graffe ( )
.
Esempio: calcolare la somma dei numeri naturali
// Program to compute the sum of natural numbers from 1 to 100. fun main(args: Array) ( var sum = 0 var i = 100 while (i != 0) ( sum += i // sum = sum + i; --i ) println("sum = $sum") )
Quando esegui il programma, l'output sarà:
somma = 5050
Qui, la variabile sum viene inizializzata a 0 e i viene inizializzata a 100. In ogni iterazione del ciclo while, viene assegnata la somma della variabile sum + i
e il valore di i viene diminuito di 1 finché i non è uguale a 0. Per una migliore visualizzazione,
1a iterazione: sum = 0 + 100 = 100, i = 99 2a iterazione: sum = 100 + 99 = 199, i = 98 3a iterazione: sum = 199 + 98 = 297, i = 97…… 99a iterazione: sum = 5047 +2 = 5049, i = 1 100a iterazione: sum = 5049 + 1 = 5050, i = 0 (quindi il ciclo termina)
Per saperne di più sull'espressione del test e su come viene valutata, visita il confronto e gli operatori logici.
Kotlin fa … mentre Loop
Il do… while
ciclo è simile al while
ciclo con una differenza fondamentale. Il corpo del do… while
ciclo viene eseguito una volta prima che l'espressione di test venga controllata.
La sua sintassi è:
do (// codici all'interno del corpo del ciclo do while) while (testExpression);
Come funziona il ciclo while?
I codici all'interno del corpo del do
costrutto vengono eseguiti una volta (senza controllare testExpression). Quindi, viene controllata l'espressione di prova.
Se si valuta l'espressione di test true
, vengono eseguiti i codici all'interno del corpo del ciclo e l'espressione di test viene valutata di nuovo. Questo processo continua finché non viene valutata l'espressione di test false
.
Quando l'espressione di test viene valutata false
, il do… while
ciclo termina.
Diagramma di flusso di do … while Loop
Esempio: Kotlin fa … mentre Loop
Il programma seguente calcola la somma dei numeri inseriti dall'utente fino a quando l'utente non inserisce 0.
Per ricevere input dall'utente, readline()
viene utilizzata la funzione. Letture consigliate: Kotlin Basic Input
fun main(args: Array) ( var sum: Int = 0 var input: String do ( print("Enter an integer: ") input = readLine()!! sum += input.toInt() ) while (input != "0") println("sum = $sum") )
Quando esegui il programma, l'output sarà qualcosa del tipo:
Immettere un numero intero: 4 Immettere un numero intero: 3 Immettere un numero intero: 2 Immettere un numero intero: -6 Immettere un numero intero: 0 sum = 3