Kotlina pārtraukums (ar piemēriem)

Šajā apmācībā jūs iemācīsities izmantot pārtraukumu, lai pārtrauktu cilpu. Jūs arī uzzināsiet par pārtraukuma etiķetēm.

Pieņemsim, ka jūs strādājat ar cilpām. Dažreiz ir vēlams nekavējoties pārtraukt cilpu, nepārbaudot testa izteiksmi.

Šādā gadījumā breaktiek izmantots. Tas pārtrauc tuvāko norobežojošo cilpu, kad rodas (nepārbaudot testa izteiksmi). Tas ir līdzīgi tam, kā break paziņojums darbojas Java valodā.

Kā notiek pārtraukums?

Gandrīz vienmēr to lieto kopā ar, ja… citur konstruētu. Piemēram,

 par (…) (ja (testExpression) (pārtraukums))

Ja testExpression tiek novērtēts true, breaktiek izpildīts, kas pārtrauc forcilpu.

Piemērs: Kotlina pārtraukums

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

Palaidot programmu, izeja būs:

 1 2 3 4 

Kad i vērtība ir vienāda ar 5, izteiksme i == 5iekšpusē iftiek novērtēta trueun breaktiek izpildīta. Tas pārtrauc for ciklu.

Piemērs: aprēķiniet summu, līdz lietotājs ievada 0

Zemāk redzamā programma aprēķina lietotāja ievadīto skaitļu summu, līdz lietotājs ievada 0.

Apmeklējiet Kotlin Basic Input Output, lai uzzinātu vairāk par to, kā iegūt ievadi no lietotāja.

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

Palaidot programmu, izeja būs:

 Ievadiet numuru: 4 Ievadiet numuru: 12 Ievadiet numuru: 6 Ievadiet numuru: -9 Ievadiet numuru: 0 summa = 13

Iepriekš minētajā programmā whilecilpas testa izteiksme vienmēr ir true.

Šeit whilecilpa darbojas, līdz lietotājs ievada 0. Kad lietotājs ievada 0, breaktiek izpildīts, kas pārtrauc whilecilpu.

Kotlina marķējums

Tas, ko jūs esat iemācījušies līdz šim, ir bez etiķetes forma break, kas pārtrauc tuvāko norobežojošo cilpu. Ir vēl viens veids, kā breakvar izmantot (apzīmēta forma), lai pārtrauktu vēlamo cilpu (var būt ārējā cilpa).

Kā darbojas iezīmētais pārtraukums?

Etiķete Kotlīnā sākas ar identifikatoru, kam seko @.

Šeit tests @ ir etiķete, kas atzīmēta ārējā, kamēr cilpa. Tagad, izmantojot breaketiķeti ( break@testšajā gadījumā), jūs varat pārtraukt konkrēto cilpu.

Lūk, piemērs:

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

Palaidot programmu, izeja būs:

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

Šeit, kad i == 2izteiksme tiek novērtēta true, break@firsttiek izpildīta, kas pārtrauc cilpu, kas apzīmēta ar etiķeti first@.

Šeit ir neliela iepriekš minētās programmas variācija.

Zemāk esošajā programmā pārtraukums pārtrauc cilpu, kas apzīmēta ar etiķeti @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 ) ) ) 

Palaidot programmu, izeja būs:

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

Piezīme: Tā kā breaktiek izmantots, lai pārtrauktu šīs programmas iekšējo cilpu, šajā gadījumā nav nepieciešams izmantot iezīmētu pārtraukumu.

Ir 3 strukturālas lēkt izteiksmes Kotlin: break, continueun return. Lai uzzinātu vairāk continueun returnizteicienus, apmeklējiet:

  • Kotlins turpina
  • Kotlina funkcija

Interesanti raksti...