In questo tutorial imparerai a usare continue per saltare l'iterazione corrente di un ciclo. Inoltre, imparerai anche le etichette continue in questo articolo.
Supponi di lavorare con i loop. A volte è desiderabile saltare l'iterazione corrente del ciclo.
In tal caso, continue
viene utilizzato. Il continue
costrutto salta l'iterazione corrente del ciclo che lo racchiude e il controllo del programma salta alla fine del corpo del ciclo.
Come funziona continue?
Viene quasi sempre utilizzato con il costrutto if … else. Per esempio,
while (testExpression1) (// codici1 if (testExpression2) (continua) // codici2)
Se viene valutato testExpression2 true
, continue
viene eseguito che salta tutti i codici all'interno del while
ciclo dopo di esso per quell'iterazione.
Esempio: Kotlin continua
fun main(args: Array) ( for (i in 1… 5) ( println("$i Always printed.") if (i> 1 && i < 5) ( continue ) println("$i Not always printed.") ) )
Quando esegui il programma, l'output sarà:
1 Sempre stampato. 1 Non sempre stampato. 2 Sempre stampato. 3 Sempre stampato. 4 Sempre stampato. 5 Sempre stampato. 5 Non sempre stampato.
Quando il valore di i è maggiore di 1 e minore di 5, continue
viene eseguito, il che salta l'esecuzione di
println ("$ i Non sempre stampato.")
dichiarazione.
Tuttavia, la dichiarazione
println ("$ i Sempre stampato.")
viene eseguito in ogni iterazione del ciclo perché questa istruzione esiste prima del continue
costrutto.
Esempio: calcola solo la somma di numeri positivi
Il programma sottostante calcola la somma di massimo 6 numeri positivi inseriti dall'utente. Se l'utente immette un numero negativo o zero, viene ignorato dal calcolo.
Visita Kotlin Basic Input Output per saperne di più su come ricevere input dall'utente.
fun main(args: Array) ( var number: Int var sum = 0 for (i in 1… 6) ( print("Enter an integer: ") number = readLine()!!.toInt() if (number <= 0) continue sum += number ) println("sum = $sum") )
Quando esegui il programma, l'output sarà:
Immettere un numero intero: 4 Immettere un numero intero: 5 Immettere un numero intero: -50 Immettere un numero intero: 10 Immettere un numero intero: 0 Immettere un numero intero: 12 sum = 31
Kotlin Labeled continua
Quello che hai imparato fino ad ora è la forma senza etichetta continue
, che salta l'iterazione corrente del ciclo di chiusura più vicino. continue
può anche essere utilizzato per saltare l'iterazione del ciclo desiderato (può essere un ciclo esterno) utilizzando le continue
etichette.
Come funziona l'etichetta continua?
L'etichetta in Kotlin inizia con un identificatore seguito da @
.
In questo caso outerloop @ è un'etichetta contrassegnata nel ciclo while esterno. Ora, usando continue
con l'etichetta ( continue@outerloop
in questo caso), puoi saltare l'esecuzione dei codici del ciclo specifico per quell'iterazione.
Esempio: etichettato continua
fun main(args: Array) ( here@ for (i in 1… 5) ( for (j in 1… 4) ( if (i == 3 || j == 2) continue@here println("i = $i; j = $j") ) ) )
Quando esegui il programma, l'output sarà:
i = 1; j = 1 io = 2; j = 1 io = 4; j = 1 io = 5; j = 1
L'uso di labeled continue
è spesso sconsigliato in quanto rende il codice difficile da capire. Se ti trovi in una situazione in cui devi usare labeled continue
, rifattorizza il tuo codice e prova a risolverlo in un modo diverso per renderlo più leggibile.
Ci sono 3 espressioni salto strutturali in Kotlin: break
, continue
e return
. Per informazioni break
ed return
espressioni, visitare:
- Pausa Kotlin
- Funzione di Kotlin