In questo articolo imparerai a usare l'istruzione break per trasferire il controllo del programma.
Quando lavori con cicli o istruzioni condizionali, potresti dover saltare alcune istruzioni all'interno del ciclo o terminare il ciclo immediatamente senza controllare l'espressione di prova
In questi casi, vengono utilizzate le istruzioni break e continue. Imparerai l'istruzione continue nel prossimo capitolo.
L'istruzione break interrompe l'esecuzione di un ciclo o un'istruzione switch. Quindi passa all'istruzione successiva che segue l'istruzione loop o switch.
La sintassi di un'istruzione break è:
rompere
Come funziona l'istruzione break?
Esempio 1: istruzione Swift break nel ciclo for
for i in 1… 5 ( if i == 4 ( break ) print("i = (i)") ) print("The end")
Quando esegui il programma, l'output sarà:
i = 1 i = 2 i = 3 La fine
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' break
istruzione e il ciclo for-in termina.
Quindi salta fuori dal ciclo per stampare The end .
Esempio 2: istruzione di interruzione rapida nel ciclo while
var currentLevel:Int = 1, finalLevel:Int = 2 var isLifeAvailable = true while (isLifeAvailable) ( if currentLevel> finalLevel ( print("Game Completed. No level remaining") break ) //play game and go to next level currentLevel += 1 print("next level") ) print("outside of while loop")
Quando esegui il programma, l'output sarà:
Livello successivo Livello successivo Gioco completato. Nessun livello rimanente al di fuori del ciclo while
Nel programma precedente, l'espressione di test del ciclo while è sempre true
.
Quando currentLevel è maggiore di finalLevel, break
viene eseguita l'istruzione all'interno del blocco if. Il programma quindi interrompe (termina) il ciclo while ed esegue le istruzioni dopo il ciclo, cioè print("outside of while loop")
…
Esempio 3: istruzione Swift break con cicli nidificati
for j in 1… 2 ( for i in 1… 5 ( if i == 4 ( break ) print("i = (i)") ) print("j = (j)") )
Quando esegui il programma, l'output sarà:
io = 1 io = 2 io = 3 j = 1 io = 1 io = 2 io = 3 j = 2
Nel programma precedente, l' break
istruzione all'interno di if i == 4
only termina l'esecuzione del ciclo interno for i in 1… 5
. Tuttavia, continua l'esecuzione del ciclo esterno for j in 1… 2
.
Ma cosa succede se vuoi anche break
l'outerloop for j in 1… 2
. Per questo, usiamo dichiarazioni etichettate in Swift.
Dichiarazione etichettata con interruzione
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 interruzione?
In questo caso, l'etichetta è un identificatore. Quando l' break
istruzione viene eseguita, termina i cicli all'interno dell'etichetta e il programma salta all'istruzione immediatamente successiva all'istruzione etichettata.
Esempio 4: istruzione etichettata con interruzione
outerloop: for j in 1… 2( innerloop: for i in 1… 5 ( if i == 4 ( break outerloop ) print("i = (i)") ) print("j = (j)") )
Quando esegui il programma, l'output sarà:
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' break
istruzione.
L'istruzione break outerloop
termina entrambi i cicli e termina il programma.
Se hai familiarità con altri linguaggi di programmazione come C, C ++, Java, ecc., L' break
istruzione viene utilizzata per terminare l'istruzione switch. Ma in Wwift, l'istruzione switch termina la sua esecuzione non appena viene completato il primo caso switch corrispondente. Pertanto, è facoltativo aggiungere un'interruzione alla custodia dell'interruttore in Swift. Per saperne di più, visita la dichiarazione Swift switch.