Selles õpetuses õpitakse katkestuse kasutamist tsükli lõpetamiseks. Samuti saate teada murda siltide kohta.
Oletame, et töötate silmustega. Mõnikord on soovitav tsükkel kohe katkestada, ilma et testavaldist kontrollitaks.
Sellisel juhul break
kasutatakse. See lõpetab lähima ümbritseva ahela, kui see kohtub (kontrollimata testi avaldist). See sarnaneb sellele, kuidas break-lause Java-s töötab.
Kuidas vaheaeg töötab?
Seda kasutatakse peaaegu alati koos konstruktsiooniga. Näiteks,
(…) jaoks (kui (testExpression) (katkestus))
Kui testExpressioni väärtuseks hinnatakse true
, break
käivitatakse see, mis lõpetab for
tsükli.
Näide: Kotlini vaheaeg
fun main(args: Array) ( for (i in 1… 10) ( if (i == 5) ( break ) println(i) ) )
Programmi käivitamisel on väljund järgmine:
1 2 3 4
Kui i väärtus on võrdne 5-ga, hinnatakse i == 5
sisemisele avaldisele väärtus ja see täidetakse. See lõpetab for loopi.if
true
break
Näide: arvutage summa, kuni kasutaja sisestab 0
Allolev programm arvutab kasutaja sisestatud numbrite summa, kuni kasutaja sisestab 0.
Külastage Kotlini sisendsisendi väljundit, et saada lisateavet selle kohta, kuidas kasutajalt sisendit võtta.
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") )
Programmi käivitamisel on väljund järgmine:
Sisestage number: 4 Sisestage number: 12 Sisestage number: 6 Sisestage number: -9 Sisestage number: 0 summa = 13
Ülaltoodud programmis on while
tsükli testväljend alati true
.
Siin while
kestab tsükkel, kuni kasutaja sisestab 0. Kui kasutaja sisestab 0, break
käivitatakse see, mis lõpetab while
tsükli.
Kotlini sildiga paus
See, mida olete siiani õppinud, on sildistamata vorm break
, mis lõpetab lähima ümbritseva silmuse. break
Soovitud silmuse (võib olla välimine silmus) lõpetamiseks võib kasutada ka teist viisi (märgistatud vorm).
Kuidas sildistatud vaheaeg töötab?
Kotlini silt algab identifikaatoriga, millele järgneb @
.
Siin on test @ silmus, mis on märgitud silmuse välimisele osale. Nüüd, kasutades break
silti ( break@test
antud juhul), saate konkreetse silmuse katkestada.
Siin on näide:
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 ) ) )
Programmi käivitamisel on väljund järgmine:
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
Siin, kui i == 2
avaldise väärtuseks hinnatakse true
, break@first
käivitatakse see, mis lõpetab sildiga tähistatud tsükli first@
.
Siin on väike variatsioon ülaltoodud programmist.
Allolevas programmis katkestab katkestamine sildiga märgistatud silmus @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 ) ) )
Programmi käivitamisel on väljund järgmine:
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
Märkus. Kuna break
seda programmi kasutatakse sisemise tsükli lõpetamiseks, pole sel juhul vaja kasutada sildistatud katkestust.
Seal on 3 struktuurne hüpata väljendeid Kotlin: break
, continue
ja return
. Lisateabe saamiseks continue
ja return
väljendamiseks külastage:
- Kotlin jätkab
- Kotlini funktsioon