I denne vejledning lærer du at bruge break til at afslutte en loop. Du vil også lære om break labels.
Antag at du arbejder med sløjfer. Det er undertiden ønskeligt at afslutte sløjfen straks uden at kontrollere testudtrykket.
I et sådant tilfælde break
anvendes. Den afslutter den nærmeste lukkende sløjfe, når den opstår (uden at kontrollere testudtrykket). Dette svarer til, hvordan break statement fungerer i Java.
Hvordan pause fungerer?
Det bruges næsten altid med if… else konstruere. For eksempel,
for (…) (hvis (testExpression) (pause))
Hvis testExpression evalueres til true
, break
udføres, som afslutter for
sløjfen.
Eksempel: Kotlin-pause
fun main(args: Array) ( for (i in 1… 10) ( if (i == 5) ( break ) println(i) ) )
Når du kører programmet, vil output være:
1 2 3 4
Når værdien af i er lig med 5, evalueres udtryk i == 5
indeni og udføres. Dette afslutter for-sløjfen.if
true
break
Eksempel: Beregn sum indtil bruger indtaster 0
Programmet nedenfor beregner summen af numre, der er indtastet af brugeren, indtil brugeren indtaster 0.
Besøg Kotlin Basic Input Output for at lære mere om, hvordan du tager input fra brugeren.
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 kører programmet, vil output være:
Indtast et nummer: 4 Indtast et nummer: 12 Indtast et nummer: 6 Indtast et nummer: -9 Indtast et nummer: 0 sum = 13
I ovenstående program er testudtrykket af while
sløjfen altid true
.
Her while
kører sløjfen, indtil brugeren går ind i 0. Når brugeren indtaster 0, break
udføres der, som afslutter while
sløjfen.
Kotlin-mærket pause
Det, du indtil videre har lært, er umærket form af break
, som afslutter den nærmeste lukkende sløjfe. Der er en anden måde, der break
kan bruges (mærket form) til at afslutte den ønskede sløjfe (kan være ydre sløjfe).
Hvordan mærket pause fungerer?
Etiket i Kotlin starter med en identifikator, der efterfølges af @
.
Her er test @ en etiket, der er markeret ved den ydre mens sløjfe. Ved at bruge break
med en etiket ( break@test
i dette tilfælde) kan du nu bryde den specifikke loop.
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 kører programmet, vil output være:
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
Her, når i == 2
udtryk evalueres til true
, break@first
udføres der, der afslutter sløjfen markeret med etiket first@
.
Her er en lille variation af ovenstående program.
I programmet nedenfor afbryder break løkken markeret med etiket @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 kører programmet, vil output være:
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
Bemærk: Da break
det bruges til at afslutte den inderste sløjfe i dette program, er det ikke nødvendigt at bruge mærket pause i dette tilfælde.
Der er 3 strukturelle hoppe udtryk i Kotlin: break
, continue
og return
. For at lære om continue
og return
udtryk, besøg:
- Kotlin fortsætter
- Kotlin-funktion