Kotlini vaheaeg (koos näidetega)

Lang L: none (table-of-contents)

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 breakkasutatakse. 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, breakkäivitatakse see, mis lõpetab fortsü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 == 5sisemisele avaldisele väärtus ja see täidetakse. See lõpetab for loopi.iftruebreak

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 whiletsükli testväljend alati true.

Siin whilekestab tsükkel, kuni kasutaja sisestab 0. Kui kasutaja sisestab 0, breakkäivitatakse see, mis lõpetab whiletsükli.

Kotlini sildiga paus

See, mida olete siiani õppinud, on sildistamata vorm break, mis lõpetab lähima ümbritseva silmuse. breakSoovitud 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 breaksilti ( break@testantud 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 == 2avaldise väärtuseks hinnatakse true, break@firstkä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 breakseda programmi kasutatakse sisemise tsükli lõpetamiseks, pole sel juhul vaja kasutada sildistatud katkestust.

Seal on 3 struktuurne hüpata väljendeid Kotlin: break, continueja return. Lisateabe saamiseks continueja returnväljendamiseks külastage:

  • Kotlin jätkab
  • Kotlini funktsioon

Huvitavad Artiklid...