English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo articolo, imparerai a utilizzare la statement continue per trasferire il controllo del programma.
Quando si utilizzano cicli o statement condizionali, potrebbe essere necessario saltare alcune statement all'interno del ciclo o terminare immediatamente il ciclo senza controllare l'espressione di test.
In questo caso, verranno utilizzate le statement break e continue. Visita questa pagina per sapere di più suLa statement breakPiù informazioni.
La statement continue ferma l'esecuzione del ciclo o delle statement all'interno di una statement switch. Poi, tornerà a valutare nuovamente l'espressione di test del ciclo.
La sintassi della statement continue è:
continue
for i in 1...5 { if i == 4 { continue {} print("i = \(i)") {}
Quando si esegue questo programma, l'output è:
i = 1 i = 2 i = 3 i = 5
Nella programma sopra, l'intervallo della sequenza da iterare è da 1 a 5.
Il valore di i viene impostato sul primo numero della sequenza range(1) e aggiornato a ogni iterazione con il numero successivo della sequenza.
Il ciclo include anche l'espressione if i == 4. Quando l'espressione ha un valore true (nella quarta iterazione), esegue la statement continue, saltando l'esecuzione della statement print("i = \(i)") e passando alla prossima iterazione (i = 5).
var intialLevel:Int = -5, finalLevel:Int = 2 var currentLevel:Int = intialLevel while currentLevel < finalLevel { if intialLevel < 0 { print("Il livello iniziale deve essere un numero positivo") intialLevel = 0 currentLevel = intialLevel continue // Salta l'esecuzione corrente {} currentLevel += 1 print("Livello successivo") {} print("Al di fuori del ciclo while")
Quando si esegue questo programma, l'output è:
Il livello iniziale deve essere un numero positivo Livello successivo Livello successivo Al di fuori del ciclo while
Nel programma sopra, il ciclo while continua fino a quando currentLevel è minore di finalLevel. Poiché l'attributo intialLevel assegnato è -5 e minore di 0, viene eseguita la frase interna if.
Quando il programma raggiunge la frase continue, salta le frasi del ciclo while e poi controlla nuovamente la condizione currentLevel<finalLevel.
for j in 1...2 { for i in 1...5 { if i == 4 { continue {} print("i = \(i)") {} print("j = \(j)") {}
Quando si esegue questo programma, l'output è:
i = 1 i = 2 i = 3 i = 5 j = 1 i = 1 i = 2 i = 3 i = 5
Nel programma sopra, la frase continue in if i==4 salta l'esecuzione della frase print("i=\(i)") all'interno del ciclo for interno. Tuttavia, non salta l'esecuzione del ciclo esterno for i in 1...5.
Ma cosa fare se vuoi anche saltare il ciclo esterno continue? Per questo, devi usare frasi con etichetta in Swift.
Le frasi con prefisso di forma (label: Statement) sono chiamate frasi con etichetta. L'etichetta è un identificatore che puoi riferire in frasi break o continue.
Ecco, label è un identificatore. Quando viene eseguito il comando continue, il programma salta il resto del ciclo for e si sposta alla frase che inizia con label.
outerloop: for j in 1...2 { innerloop: for i in 1...5 { if i == 4 { continue outerloop {} print("i = \(i)") {} print("j = \(j)") {}
Quando si esegue questo programma, l'output è:
i = 1 i = 2 i = 3 i = 1 i = 2 i = 3
Nel programma sopra, ci sono due istruzioni taggate outerloop: for j in 1...2 e innerloop: for i in 1...5.
I nomi dei tag outerloop e innerloop possono essere utilizzati insieme all'istruzione continue.
Nel programma, abbiamo utilizzato l'istruzione continue outerloop per saltare l'esecuzione delle istruzioni all'interno dei cicli esterni e interni. Durante questo processo, i valori di i e j vengono aggiornati al numero successivo nell'intervallo.