Kotlins turpina (ar piemēriem)

Šajā apmācībā jūs iemācīsities izmantot, lai izlaistu pašreizējo cilpas atkārtojumu. Šajā rakstā jūs uzzināsiet arī par turpinājuma etiķetēm.

Pieņemsim, ka jūs strādājat ar cilpām. Dažreiz ir vēlams izlaist pašreizējo cilpas atkārtojumu.

Šādā gadījumā continuetiek izmantots. continueBūvēt izlaiž pašreizējo atkārtojuma norobežojošās cilpu, un kontroles programmas lec līdz beigām cilpas ķermeņa.

Kā turpināt darbu?

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

 while (testExpression1) (// kodi1 if (testExpression2) (turpināt) // kodi2)

Ja testExpression2 tiek novērtēts true, continuetiek izpildīts, kas izlaiž visus kodus iekšējā whilecilpā pēc tā iterācijai.

Piemērs: Kotlins turpina

 fun main(args: Array) ( for (i in 1… 5) ( println("$i Always printed.") if (i> 1 && i < 5) ( continue ) println("$i Not always printed.") ) )

Palaidot programmu, izeja būs:

1 Vienmēr drukāts. 1 Ne vienmēr tiek drukāts. 2 Vienmēr drukāts. 3 Vienmēr drukāts. 4 Vienmēr drukāts. 5 Vienmēr drukāts. 5 Ne vienmēr drukāts.

Ja i vērtība ir lielāka par 1 un mazāka par 5, continuetiek izpildīta, kas izlaiž

 println ("$ i ne vienmēr tiek drukāts.")

paziņojums, apgalvojums.

Tomēr paziņojums

 println ("$ i vienmēr tiek drukāts.")

tiek izpildīts katrā cilpas atkārtojumā, jo šis apgalvojums pastāv pirms continuekonstrukta.

Piemērs: aprēķiniet tikai pozitīvo skaitļu summu

Zemāk esošā programma aprēķina maksimāli 6 lietotāja ievadīto pozitīvo skaitļu summu. Ja lietotājs ievada negatīvu skaitli vai nulli, tas tiek izlaists no aprēķina.

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 number: Int var sum = 0 for (i in 1… 6) ( print("Enter an integer: ") number = readLine()!!.toInt() if (number <= 0) continue sum += number ) println("sum = $sum") )

Palaidot programmu, izeja būs:

 Ievadiet veselu skaitli: 4 Ievadiet veselu skaitli: 5 Ievadiet veselu skaitli: -50 Ievadiet veselu skaitli: 10 Ievadiet veselu skaitli: 0 Ievadiet veselu skaitli: 12 summa = 31

Kotlin Label turpina

Tas, ko jūs esat iemācījies līdz šim, ir apzīmēta forma continue, kas izlaiž tuvākās norobežojošās cilpas pašreizējo atkārtojumu. continuevar izmantot arī, lai izlaistu vēlamās cilpas (var būt ārējā cilpa) atkārtojumu, izmantojot continueetiķetes.

Kā darbojas iezīme turpināt?

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

Šeit externalloop @ ir etiķete, kas atzīmēta pie ārējā, kamēr cilpa. Tagad, izmantojot continueetiķeti ( continue@outerloopšajā gadījumā), varat izlaist konkrētās cilpas kodu izpildi šai iterācijai.

Piemērs: apzīmēts turpinājums

 fun main(args: Array) ( here@ for (i in 1… 5) ( for (j in 1… 4) ( if (i == 3 || j == 2) continue@here println("i = $i; j = $j") ) ) )

Palaidot programmu, izeja būs:

i = 1; j = 1 i = 2; j = 1, i = 4; j = 1 i = 5; j = 1

Etiķetes lietošana continuebieži nav ieteicama, jo tas padara jūsu kodu grūti saprotamu. Ja atrodaties situācijā, kad jums jāizmanto marķējums continue, pārveidojiet kodu un mēģiniet to atrisināt citā veidā, lai padarītu to vieglāk lasāmu.

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

  • Kotlina pārtraukums
  • Kotlina funkcija

Interesanti raksti...