Šioje pamokoje išmoksite naudoti toliau praleisti dabartinę kilpos iteraciją. Šiame straipsnyje taip pat sužinosite apie tęstines etiketes.
Tarkime, kad dirbate su kilpomis. Kartais pageidautina praleisti dabartinę kilpos iteraciją.
Tokiu atveju continue
yra naudojamas. continue
Konstruktas praleidžia esamą pasikartojančių dengiančiosios kilpa, ir programos valdymo šuoliai į kilpos kūno pabaigoje.
Kaip veikia toliau?
Jis beveik visada naudojamas, jei… kitaip sukonstruoti. Pavyzdžiui,
while (testExpression1) (// kodai1 if (testExpression2) (tęsinys) // kodai2)
Jei įvertinamas „testExpression2“ true
, continue
vykdoma, kuri praleidžia visus kodus, esančius while
cikle, po to, kad būtų atlikta iteracija.
Pavyzdys: Kotlin tęsti
fun main(args: Array) ( for (i in 1… 5) ( println("$i Always printed.") if (i> 1 && i < 5) ( continue ) println("$i Not always printed.") ) )
Kai paleisite programą, išvestis bus:
1 Visada atspausdinta. 1 Ne visada atspausdinta. 2 Visada atspausdinta. 3 Visada atspausdinta. 4 Visada atspausdinta. 5 Visada atspausdinta. 5 Ne visada spausdinama.
Kai i reikšmė yra didesnė nei 1 ir mažesnė nei 5, continue
vykdoma, o tai praleidžia
println ("$ i ne visada spausdinama.")
pareiškimas.
Tačiau teiginys
println ("$ i visada spausdinama.")
yra vykdomas kiekvienoje kilpos iteracijoje, nes šis sakinys egzistuoja prieš continue
konstrukciją.
Pavyzdys: apskaičiuokite tik teigiamų skaičių sumą
Žemiau pateikiama programa apskaičiuoja ne daugiau kaip 6 teigiamų skaičių, kuriuos įvedė vartotojas, sumą. Jei vartotojas įveda neigiamą skaičių arba nulį, jis praleidžiamas iš skaičiavimo.
Apsilankykite „Kotlin“ pagrindiniame įvesties išvestyje, kad sužinotumėte daugiau, kaip priimti įvestį iš vartotojo.
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") )
Kai paleisite programą, išvestis bus:
Įveskite sveikąjį skaičių: 4 Įveskite sveiką skaičių: 5 Įveskite sveiką skaičių: -50 Įveskite sveiką skaičių: 10 Įveskite sveiką skaičių: 0 Įveskite sveiką skaičių: 12 suma = 31
„Kotlin“ pažymėti toliau
Tai, ko išmokote iki šiol, yra nepažymėta forma continue
, kuri praleidžia dabartinę artimiausios uždaromosios kilpos iteraciją. continue
taip pat gali būti naudojamas norint praleisti norimos kilpos (gali būti išorinės kilpos) kartojimą naudojant continue
etiketes.
Kaip veikia paženklinti tęsiniai?
Etiketė „Kotlin“ prasideda identifikatoriumi, po kurio rašoma @
.
Čia „externalloop @“ yra etiketė, pažymėta išorėje, o kilpa. Dabar, naudodami continue
etiketę ( continue@outerloop
šiuo atveju), galite praleisti tos iteracijos konkrečios kilpos kodus.
Pavyzdys: pažymėta tęsti
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") ) ) )
Kai paleisite programą, išvestis bus:
i = 1; j = 1 i = 2; j = 1, i = 4; j = 1, i = 5; j = 1
continue
Dažnai nerekomenduojama naudoti etikečių, nes tai sunkiai supranta jūsų kodą. Jei esate tokioje situacijoje, kai turite naudoti etiketę continue
, pertvarkykite kodą ir pabandykite jį išspręsti kitu būdu, kad jis būtų lengviau įskaitomas.
Yra 3 struktūriniai šuolis išraiškas Kotlin: break
, continue
ir return
. Norėdami sužinoti daugiau break
ir return
išraišką, apsilankykite:
- Kotlino pertrauka
- Kotlino funkcija