Kotlino pertrauka (su pavyzdžiais)

Šioje pamokoje jūs išmoksite naudoti pertrauką, norėdami nutraukti kilpą. Taip pat sužinosite apie pertraukų etiketes.

Tarkime, kad dirbate su kilpomis. Kartais pageidautina nedelsiant nutraukti kilpą, netikrinant testo išraiškos.

Tokiu atveju breakyra naudojamas. Jis nutraukia artimiausią uždarymo kilpą, kai susiduriama (netikrinant testo išraiškos). Tai panašu į tai, kaip „break“ sakinys veikia „Java“.

Kaip vyksta pertrauka?

Jis beveik visada naudojamas, jei… kitaip sukonstruoti. Pavyzdžiui,

 už (…) (jei (testExpression) (pertrauka))

Įvertinus testExpression true, breakvykdoma, kuri nutraukia forkilpą.

Pavyzdys: Kotlino pertrauka

 fun main(args: Array) ( for (i in 1… 10) ( if (i == 5) ( break ) println(i) ) )

Kai paleisite programą, išvestis bus:

 1 2 3 4 

Kai i vertė lygi 5, išraiška i == 5viduje ifįvertinama trueir breakvykdoma. Tai nutraukia „for“ kilpą.

Pavyzdys: apskaičiuokite sumą, kol vartotojas įveda 0

Žemiau pateikta programa apskaičiuoja vartotojo įvestų skaičių sumą, kol vartotojas įveda 0.

Apsilankykite „Kotlin“ pagrindiniame įvesties išvestyje, kad sužinotumėte daugiau, kaip priimti įvestį iš vartotojo.

 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") )

Kai paleisite programą, išvestis bus:

 Įveskite skaičių: 4 Įveskite numerį: 12 Įveskite skaičių: 6 Įveskite numerį: -9 Įveskite skaičių: 0 suma = 13

Pirmiau pateiktoje programoje testo whileciklo išraiška yra visada true.

Čia whileciklas tęsiasi, kol vartotojas įveda 0. Kai vartotojas įveda 0, breakvykdoma, kuri nutraukia whilekilpą.

„Kotlin“ etiketė

Tai, ko išmokote iki šiol, yra nepažymėta forma break, nutraukianti artimiausią uždarymo kilpą. Yra dar vienas būdas break(pažymėta forma) nutraukti norimą kilpą (gali būti išorinė kilpa).

Kaip veikia paženklinta pertrauka?

Etiketė „Kotlin“ prasideda identifikatoriumi, po kurio rašoma @.

Čia testas @ yra etiketė, pažymėta išorėje, o kilpa. Dabar naudodami breaketiketę ( break@testšiuo atveju) galite nutraukti konkrečią kilpą.

Štai pavyzdys:

 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 ) ) )

Kai paleisite programą, išvestis bus:

i = 1; j = 1 i = 1; j = 2, i = 2; j = 1

Čia, i == 2įvertinus išraišką true, break@firstvykdoma, kuri nutraukia etikete pažymėtą kilpą first@.

Štai nedidelis minėtos programos variantas.

Žemiau pateiktoje programoje pertrauka nutraukia etikete pažymėtą kilpą @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 ) ) ) 

Kai paleisite programą, išvestis bus:

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

Pastaba: Kadangi breakyra naudojamas nutraukti vidinę šios programos kilpą, šiuo atveju nereikia naudoti pažymėto pertraukimo.

Yra 3 struktūriniai šuolis išraiškas Kotlin: break, continueir return. Norėdami sužinoti daugiau continueir returnišraišką, apsilankykite:

  • Kotlinas tęsia
  • Kotlino funkcija

Įdomios straipsniai...