In questo tutorial imparerai a usare break per terminare un ciclo. Inoltre, imparerai anche a separare le etichette.
Supponi di lavorare con i loop. A volte è desiderabile terminare immediatamente il ciclo senza controllare l'espressione di prova.
In tal caso, break
viene utilizzato. Termina il ciclo di inclusione più vicino quando viene rilevato (senza controllare l'espressione di test). Questo è simile a come funziona l'istruzione break in Java.
Come funziona la pausa?
Viene quasi sempre utilizzato con il costrutto if … else. Per esempio,
for (…) (if (testExpression) (break))
Se testExpression viene valutato a true
, break
viene eseguito che termina il for
ciclo.
Esempio: pausa di Kotlin
fun main(args: Array) ( for (i in 1… 10) ( if (i == 5) ( break ) println(i) ) )
Quando esegui il programma, l'output sarà:
1 2 3 4
Quando il valore di i è uguale a 5, l'espressione i == 5
all'interno if
viene valutata true
e break
viene eseguita. Questo termina il ciclo for.
Esempio: calcola la somma finché l'utente non immette 0
Il programma seguente calcola la somma dei numeri inseriti dall'utente fino a quando l'utente non inserisce 0.
Visita Kotlin Basic Input Output per saperne di più su come ricevere input dall'utente.
fun main(args: Array) ( var sum = 0 var number: Int while (true) ( print("Enter a number: ") number = readLine()!!.toInt() if (number == 0) break sum += number ) print("sum = $sum") )
Quando esegui il programma, l'output sarà:
Immettere un numero: 4 Immettere un numero: 12 Immettere un numero: 6 Immettere un numero: -9 Immettere un numero: 0 somma = 13
Nel programma precedente, l'espressione di prova del while
ciclo è sempre true
.
Qui, il while
ciclo viene eseguito fino a quando l'utente non immette 0. Quando l'utente immette 0, break
viene eseguito, il che termina il while
ciclo.
Kotlin etichettato break
Quello che hai imparato fino ad ora è la forma senza etichetta break
, che termina il ciclo di chiusura più vicino. C'è un altro modo che break
può essere usato (modulo etichettato) per terminare il ciclo desiderato (può essere un ciclo esterno).
Come funziona la pausa etichettata?
L'etichetta in Kotlin inizia con un identificatore seguito da @
.
Qui, test @ è un'etichetta contrassegnata nel ciclo while esterno. Ora, usando break
con un'etichetta ( break@test
in questo caso), puoi interrompere il ciclo specifico.
Ecco un esempio:
fun main(args: Array) ( first@ for (i in 1… 4) ( second@ for (j in 1… 2) ( println("i = $i; j = $j") if (i == 2) break@first ) ) )
Quando esegui il programma, l'output sarà:
i = 1; j = 1 io = 1; j = 2 io = 2; j = 1
Qui, quando i == 2
viene valutata l'espressione true
, break@first
viene eseguita che termina il ciclo contrassegnato con etichetta first@
.
Ecco una piccola variazione del programma sopra.
Nel programma seguente, break termina il ciclo contrassegnato dall'etichetta @second.
fun main(args: Array) ( first@ for (i in 1… 4) ( second@ for (j in 1… 2) ( println("i = $i; j = $j") if (i == 2) break@second ) ) )
Quando esegui il programma, l'output sarà:
i = 1; j = 1 io = 1; j = 2 io = 2; j = 1 io = 3; j = 1 io = 3; j = 2 io = 4; j = 1 io = 4; j = 2
Nota: poiché, break
viene utilizzato per terminare il ciclo più interno in questo programma, in questo caso non è necessario utilizzare break etichettato.
Ci sono 3 espressioni salto strutturali in Kotlin: break
, continue
e return
. Per informazioni continue
ed return
espressioni, visitare:
- Kotlin continua
- Funzione di Kotlin