V tomto tutoriále sa naučíte používať break na ukončenie slučky. Dozviete sa tiež o zlomení štítkov.
Predpokladajme, že pracujete so slučkami. Niekedy je žiaduce ukončiť slučku okamžite bez kontroly testovacieho výrazu.
V takom prípade break
sa používa. Keď sa vyskytne, ukončí najbližšiu uzatváraciu slučku (bez kontroly testovacieho výrazu). Je to podobné ako v prípade príkazu break v jazyku Java.
Ako funguje zlom?
Takmer vždy sa používa s konštrukciou if … else. Napríklad,
pre (…) (if (testExpression) (break))
Ak sa testExpression vyhodnotí na true
, break
vykoná sa, čím sa ukončí for
slučka.
Príklad: Kotlinova prestávka
fun main(args: Array) ( for (i in 1… 10) ( if (i == 5) ( break ) println(i) ) )
Po spustení programu bude výstup:
1 2 3 4
Keď je hodnota i rovná 5, výraz i == 5
vo vnútri if
sa vyhodnotí na true
a break
vykoná sa. Týmto sa ukončí slučka for.
Príklad: Vypočítajte súčet, kým používateľ nezadá 0
Program uvedený nižšie počíta súčet čísel zadaných používateľom, kým používateľ nezadá 0.
Navštívte Kotlin Basic Input Output a dozviete sa viac o tom, ako prevziať vstupy od používateľa.
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") )
Po spustení programu bude výstup:
Zadajte číslo: 4 Zadajte číslo: 12 Zadajte číslo: 6 Zadajte číslo: -9 Zadajte číslo: 0 súčet = 13
Vo vyššie uvedenom programe je testovací výraz while
slučky vždy true
.
Tu while
smyčka beží, kým užívateľ nevstúpi do 0. Keď užívateľ zadá 0, break
vykoná sa, čím sa while
smyčka ukončí .
Kotlin Označený zlom
To, čo ste sa doteraz naučili, je neoznačená forma break
, ktorá končí najbližšiu obklopujúcu slučku. Existuje ďalší spôsob, ako break
je možné použiť (označený formulár) na ukončenie požadovanej slučky (môže to byť vonkajšia slučka).
Ako funguje prestávka s označením?
Štítok v Kotline začína identifikátorom, za ktorým nasleduje @
.
Tu je test @ štítok označený na vonkajšej slučke while. Teraz pomocou break
štítku ( break@test
v tomto prípade) môžete prerušiť konkrétnu slučku.
Tu je príklad:
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 ) ) )
Po spustení programu bude výstup:
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
Tu sa vykoná i == 2
výraz, ktorý sa vyhodnotí na true
, break@first
čím sa ukončí slučka označená štítkom first@
.
Tu je malá obmena vyššie uvedeného programu.
V nižšie uvedenom programe prerušenie ukončí slučku označenú štítkom @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 ) ) )
Po spustení programu bude výstup:
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
Poznámka: Pretože break
sa v tomto programe používa na ukončenie najvnútornejšej slučky, nie je v tomto prípade potrebné používať prerušenie s označením.
K dispozícii sú 3 konštrukčné výrazy skok v Kotlin: break
, continue
a return
. Ak sa chcete dozvedieť viac continue
a return
prejaviť sa, navštívte stránku:
- Kotlin pokračovať
- Kotlinova funkcia