In dit artikel leer je de break-statement te gebruiken om de controle over het programma over te dragen.
Als u met lussen of voorwaardelijke instructies werkt, moet u mogelijk enkele instructies in de lus overslaan of de lus onmiddellijk beëindigen zonder de testuitdrukking te controleren
In dergelijke gevallen worden break and continue statements gebruikt. In het volgende hoofdstuk leest u hoe u doorgaat.
De break-instructie stopt de uitvoering van een lus- of switch-instructie. Vervolgens springt het naar de volgende instructie die volgt op de lus- of switch-instructie.
De syntaxis van een break-instructie is:
breken
Hoe break-statement werkt?
Voorbeeld 1: Swift break-instructie in for-lus
for i in 1… 5 ( if i == 4 ( break ) print("i = (i)") ) print("The end")
Wanneer u het programma uitvoert, is de uitvoer:
i = 1 i = 2 i = 3 Het einde
In het bovenstaande programma is de reeks die wordt herhaald binnen een bereik van 1 tot 5.
De waarde van i wordt ingesteld op het eerste getal in het bereik (1), en bij elke iteratie bijgewerkt naar het volgende nummer van het bereik.
De lus bevat ook een if-instructie met expressie i == 4
. De expressie, wanneer geëvalueerd naar true (op de 4e iteratie), voert de break
instructie uit en de for-in-lus wordt beëindigd.
Het springt dan buiten de lus om The end af te drukken .
Voorbeeld 2: Swift break-instructie in while-lus
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")
Wanneer u het programma uitvoert, is de uitvoer:
volgend niveau volgend niveau Spel voltooid. Er blijft geen niveau buiten de while-lus
In het bovenstaande programma is de testuitdrukking van de while-lus altijd true
.
Als het currentLevel groter is dan finalLevel, wordt de break
instructie binnen het if-blok uitgevoerd. Het programma breekt dan uit (beëindigt) de while-lus en voert de instructies uit na de lus, dwz print("outside of while loop")
…
Voorbeeld 3: Swift break-instructie met geneste lussen
for j in 1… 2 ( for i in 1… 5 ( if i == 4 ( break ) print("i = (i)") ) print("j = (j)") )
Wanneer u het programma uitvoert, is de uitvoer:
ik = 1 ik = 2 ik = 3 j = 1 ik = 1 ik = 2 ik = 3 j = 2
In het bovenstaande programma beëindigt de break
instructie binnen de if i == 4
enige de uitvoering van de binnenste lus for i in 1… 5
. Het zet echter de uitvoering van de buitenste lus voort for j in 1… 2
.
Maar wat als je ook naar break
de buitenlus wilt for j in 1… 2
. Daarvoor gebruiken we gelabelde statements in Swift.
Gelabelde verklaring met pauze
Uitspraken met voorvoegsels in het formulier (label: Statement) worden gelabeld statement genoemd. Het label is een identifier waarnaar u later in de break- of continue statements kunt verwijzen. Voor meer informatie over gelabelde uitspraken, gaat u naar Swift gelabelde uitspraken.
Hoe werkt een gelabelde verklaring met pauze?
Hier is label een identificatie. Wanneer de break
instructie wordt uitgevoerd, beëindigt het de loops binnen het label en springt het programma naar de instructie die onmiddellijk volgt op de gelabelde instructie.
Voorbeeld 4: gelabelde instructie met pauze
outerloop: for j in 1… 2( innerloop: for i in 1… 5 ( if i == 4 ( break outerloop ) print("i = (i)") ) print("j = (j)") )
Wanneer u het programma uitvoert, is de uitvoer:
ik = 1 ik = 2 ik = 3
In het bovenstaande programma zijn er twee gelabelde instructies outerloop: for j in 1… 2
en innerloop: for i in 1… 5
.
De labelnamen buitenlus en binnenlus kunnen bij de break
instructie worden gebruikt .
De instructie break outerloop
beëindigt beide lussen en beëindigt het programma.
Als u bekend bent met een andere programmeertaal zoals C, C ++, Java, enz., Wordt de break
instructie gebruikt om de instructie switch te beëindigen. Maar in Wwift voltooit de instructie switch de uitvoering zodra de eerste overeenkomende switch-case is voltooid. Daarom is het optioneel om een pauze toe te voegen aan de schakelkast in Swift. Ga voor meer informatie naar Swift Switch-verklaring.