Kotlin break (met voorbeelden)

In deze tutorial leert u break gebruiken om een ​​lus te beëindigen. U leert ook over afbrekingslabels.

Stel dat u met loops werkt. Het is soms wenselijk om de lus onmiddellijk te beëindigen zonder de testuitdrukking te controleren.

In dat geval breakwordt gebruikt. Het beëindigt de dichtstbijzijnde omsluitende lus wanneer deze wordt aangetroffen (zonder de testuitdrukking te controleren). Dit is vergelijkbaar met hoe break-instructie werkt in Java.

Hoe pauze werkt?

Het wordt bijna altijd gebruikt met if… else construct. Bijvoorbeeld,

 voor (…) (if (testExpression) (break))

Als testExpression wordt geëvalueerd naar true, breakwordt uitgevoerd waardoor de forlus wordt beëindigd .

Voorbeeld: Kotlin-pauze

 fun main(args: Array) ( for (i in 1… 10) ( if (i == 5) ( break ) println(i) ) )

Wanneer u het programma uitvoert, is de uitvoer:

 1 2 3 4 

Wanneer de waarde van i gelijk is aan 5, wordt expressie i == 5binnenin ifgeëvalueerd naar trueen breakuitgevoerd. Dit beëindigt de for-lus.

Voorbeeld: bereken de som totdat de gebruiker 0 invoert

Het onderstaande programma berekent de som van de getallen die door de gebruiker zijn ingevoerd totdat de gebruiker 0 invoert.

Bezoek Kotlin Basic Input Output voor meer informatie over hoe u input van de gebruiker kunt krijgen.

 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") )

Wanneer u het programma uitvoert, is de uitvoer:

 Voer een getal in: 4 Voer een getal in: 12 Voer een getal in: 6 Voer een getal in: -9 Voer een getal in: 0 som = 13

In het bovenstaande programma is de testuitdrukking van de whilelus altijd true.

Hier loopt de whilelus totdat de gebruiker 0 invoert. Wanneer de gebruiker 0 invoert, breakwordt uitgevoerd waardoor de whilelus wordt beëindigd .

Kotlin gelabelde pauze

Wat je tot nu toe hebt geleerd, is een niet-gelabelde vorm break, die de dichtstbijzijnde omsluitende lus beëindigt. Er is een andere manier die breakkan worden gebruikt (gelabelde vorm) om de gewenste lus te beëindigen (kan een buitenste lus zijn).

Hoe werkt een gelabelde pauze?

Label in Kotlin begint met een identifier die wordt gevolgd door @.

Hier is test @ een label dat is gemarkeerd aan de buitenste while-lus. Nu, door te gebruiken breakmet een label ( break@testin dit geval), kunt u de specifieke lus doorbreken.

Hier is een voorbeeld:

 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 ) ) )

Wanneer u het programma uitvoert, is de uitvoer:

i = 1; j = 1 i = 1; j = 2 i = 2; j = 1

Hier, wanneer i == 2expressie wordt geëvalueerd naar true, break@firstwordt uitgevoerd waardoor de lus die is gemarkeerd met label wordt beëindigd first@.

Hier is een kleine variatie op het bovenstaande programma.

In het onderstaande programma beëindigt break de lus gemarkeerd met label @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 ) ) ) 

Wanneer u het programma uitvoert, is de uitvoer:

i = 1; j = 1 i = 1; j = 2 i = 2; j = 1 i = 3; j = 1 i = 3; j = 2 i = 4; j = 1 i = 4; j = 2

Opmerking: aangezien, breakwordt gebruikt om de binnenste lus in dit programma te beëindigen, is het in dit geval niet nodig om het label break te gebruiken.

Er zijn 3 structurele sprong uitdrukkingen in Kotlin: break, continueen return. Ga voor meer informatie over continueen returnexpressie naar:

  • Kotlin gaat verder
  • Kotlin-functie

Interessante artikelen...