In questo articolo imparerai a usare l'istruzione continue per trasferire il controllo del programma.
Mentre si lavora con i cicli o le istruzioni condizionali, potrebbe essere necessario saltare alcune istruzioni all'interno del ciclo o terminare immediatamente il ciclo senza controllare l'espressione di prova.
In questi casi, vengono utilizzate le istruzioni break e continue. Visita la pagina per saperne di più sull'istruzione break.
L'istruzione continue interrompe l'esecuzione delle istruzioni all'interno di un ciclo o un'istruzione switch. Quindi torna indietro per valutare nuovamente l'espressione di test del ciclo.
La sintassi di un'istruzione continue è:
Continua
Come funziona l'istruzione continue?
Esempio 1: istruzione Swift continue nel ciclo for
for i in 1… 5 ( if i == 4 ( continue ) print("i = (i)") )
Quando esegui il programma, l'output sarà:
io = 1 io = 2 io = 3 io = 5
Nel programma precedente, la sequenza su cui viene ripetuta è un intervallo da 1 a 5.
Il valore di i è impostato sul primo numero nell'intervallo (1) e aggiornato al numero successivo dell'intervallo ad ogni iterazione.
Il ciclo contiene anche un'istruzione if con espressione i == 4
. L'espressione quando valutata a true (alla quarta iterazione) esegue l' continue
istruzione, salta l'esecuzione dell'istruzione print("i = (i)")
e passa all'iterazione successiva (i = 5).
Esempio 2: istruzione Swift continue nel ciclo while
var intialLevel:Int = -5, finalLevel:Int = 2 var currentLevel:Int = intialLevel while currentLevel < finalLevel ( if intialLevel < 0 ( print("Starting level must be positive") intialLevel = 0 currentLevel = intialLevel continue //skips the current execution ) currentLevel += 1 print("next level") ) print("outside of while loop")
Quando esegui il programma, l'output sarà:
Il livello iniziale deve essere positivo al livello successivo al livello successivo al di fuori del ciclo while
Nel programma precedente, il ciclo while viene eseguito fino a quando currentLevel è minore di finalLevel. Poiché a intialLevel viene assegnato il valore -5 ed è minore di 0, vengono eseguite le istruzioni all'interno di if
.
Quando il programma raggiunge l' continue
istruzione, salta le istruzioni del ciclo while e salta per controllare di currentLevel < finalLevel
nuovo la condizione .
Esempio 3: istruzione Swift continue con cicli nidificati
for j in 1… 2 ( for i in 1… 5 ( if i == 4 ( continue ) print("i = (i)") ) print("j = (j)") )
Quando esegui il programma, l'output sarà:
io = 1 io = 2 io = 3 io = 5 j = 1 io = 1 io = 2 io = 3 io = 5
Nel programma precedente, l' continue
istruzione all'interno della if i == 4
sola salta l'esecuzione dell'istruzione print("i = (i)")
all'interno del ciclo for interno. Tuttavia, non salta l'esecuzione del ciclo esterno for i in 1… 5
.
Ma cosa succede se vuoi anche continue
l'outerloop. Per questo, devi utilizzare istruzioni etichettate in Swift.
Istruzione etichettata con continue
Le istruzioni che hanno prefissi nel modulo (label: Statement) vengono chiamate come istruzioni etichettate. L'etichetta è un identificatore a cui puoi fare riferimento in seguito nelle istruzioni break o continue. Per ulteriori informazioni sulle dichiarazioni etichettate, visita Dichiarazione con etichetta Swift.
Come funziona l'istruzione etichettata con continue?
In questo caso, l'etichetta è un identificatore. Quando l' continue
istruzione viene eseguita, il programma salta il resto del coe all'interno del ciclo e salta all'istruzione in cui inizia l'etichetta.
Esempio 4: istruzione etichettata con continue
outerloop: for j in 1… 2 ( innerloop: for i in 1… 5 ( if i == 4 ( continue outerloop ) print("i = (i)") ) print("j = (j)") )
Quando esegui il programma, l'output sarà:
io = 1 io = 2 io = 3 io = 1 io = 2 io = 3
Nel programma precedente, ci sono due istruzioni etichettate outerloop: for j in 1… 2
e innerloop: for i in 1… 5
.
I nomi delle etichette outerloop e innerloop possono essere utilizzati con l' continue
istruzione.
Nel programma, abbiamo usato l'istruzione continue outerloop
per saltare l'esecuzione delle istruzioni all'interno dei cicli interni ed esterni. Nel processo, i valori sia di i che di j vengono aggiornati al numero successivo nell'intervallo.