Š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ā continue
tiek izmantots. continue
Bū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
, continue
tiek izpildīts, kas izlaiž visus kodus iekšējā while
cilpā 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, continue
tiek 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 continue
konstrukta.
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. continue
var izmantot arī, lai izlaistu vēlamās cilpas (var būt ārējā cilpa) atkārtojumu, izmantojot continue
etiķ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 continue
etiķ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 continue
biež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
, continue
un return
. Lai uzzinātu vairāk break
un return
izteicienus, apmeklējiet:
- Kotlina pārtraukums
- Kotlina funkcija