Kotlinova prestávka (s príkladmi)

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 breaksa 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, breakvykoná sa, čím sa ukončí forsluč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 == 5vo vnútri ifsa vyhodnotí na truea breakvykoná 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 whileslučky vždy true.

Tu whilesmyčka beží, kým užívateľ nevstúpi do 0. Keď užívateľ zadá 0, breakvykoná sa, čím sa whilesmyč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 breakje 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@testv 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 == 2vý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 breaksa 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, continuea return. Ak sa chcete dozvedieť viac continuea returnprejaviť sa, navštívte stránku:

  • Kotlin pokračovať
  • Kotlinova funkcia

Zaujímavé články...