I denne opplæringen lærer du å bruke break for å avslutte en loop. Du vil også lære om pauseetiketter.
Anta at du jobber med løkker. Noen ganger er det ønskelig å avslutte sløyfen umiddelbart uten å sjekke testuttrykket.
I slike tilfeller break
brukes. Den avslutter nærmeste omsluttende sløyfe når den oppstår (uten å sjekke testuttrykket). Dette ligner på hvordan break statement fungerer i Java.
Hvordan pause fungerer?
Den brukes nesten alltid med if… else konstruere. For eksempel,
for (…) (hvis (testExpression) (pause))
Hvis testExpression blir evaluert til true
, break
utføres som avslutter for
sløyfen.
Eksempel: Kotlin pause
fun main(args: Array) ( for (i in 1… 10) ( if (i == 5) ( break ) println(i) ) )
Når du kjører programmet, vil utdataene være:
1 2 3 4
Når verdien av i er lik 5, blir uttrykk i == 5
inni if
evaluert true
og break
utført. Dette avslutter for loop.
Eksempel: Beregn sum til bruker angir 0
Programmet nedenfor beregner summen av tall som er skrevet inn av brukeren til brukeren skriver inn 0.
Besøk Kotlin Basic Input Output for å lære mer om hvordan du tar input fra brukeren.
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") )
Når du kjører programmet, vil utdataene være:
Tast inn et tall: 4 Tast inn et tall: 12 Tast inn et tall: 6 Tast inn et tall: -9 Tast inn et tall: 0 sum = 13
I programmet ovenfor er testuttrykket til while
sløyfen alltid true
.
Her while
går sløyfen til brukeren kommer inn i 0. Når brukeren legger inn 0, break
utføres som avslutter while
sløyfen.
Kotlin-merket pause
Det du har lært til nå er umerket form av break
, som avslutter nærmeste innesluttende sløyfe. Det er en annen måte som break
kan brukes (merket form) for å avslutte ønsket sløyfe (kan være ytre sløyfe).
Hvordan fungerer merket pause?
Etiketten i Kotlin starter med en identifikator som etterfølges av @
.
Her er test @ en etikett merket på den ytre mens sløyfen. Nå, ved å bruke break
med en etikett ( break@test
i dette tilfellet), kan du bryte den spesifikke sløyfen.
Her er et eksempel:
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 ) ) )
Når du kjører programmet, vil utdataene være:
jeg = 1; j = 1 i = 1; j = 2 i = 2; j = 1
Her, når i == 2
uttrykk blir evaluert til true
, break@first
blir det utført som avslutter sløyfen merket med etikett first@
.
Her er en liten variant av programmet ovenfor.
I programmet nedenfor avslutter break løkken merket med etikett @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 ) ) )
Når du kjører programmet, vil utdataene være:
jeg = 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
Merk: Siden, break
brukes til å avslutte den innerste sløyfen i dette programmet, er det ikke nødvendig å bruke merket pause i dette tilfellet.
Det er 3 strukturelle hoppe uttrykk i Kotlin: break
, continue
og return
. For å lære om continue
og return
uttrykk, besøk:
- Kotlin fortsetter
- Kotlin-funksjon