Kotlin jatkaa (esimerkkien avulla)

Tässä opetusohjelmassa opit käyttämään jatkaaksesi silmukan nykyisen iteroinnin ohittamista. Opit myös jatkotarroista tässä artikkelissa.

Oletetaan, että työskentelet silmukoiden kanssa. Joskus on toivottavaa ohittaa silmukan nykyinen iterointi.

Tällöin continuekäytetään. continueKonstrukti ohittaa nykyisen iteraation sulkevan silmukan, ja valvonta ohjelma hyppää loppuun silmukan rungon.

Kuinka jatko toimii?

Sitä käytetään melkein aina if… muun rakenteen kanssa. Esimerkiksi,

 while (testExpression1) (// koodit1 if (testExpression2) (jatka) // koodit2)

Jos testExpression2 arvioidaan true, continuesuoritetaan, joka ohittaa kaikki koodit whilesilmukan sisällä sen jälkeen iteraatiota varten.

Esimerkki: Kotlin jatka

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

Kun suoritat ohjelmaa, tulos on:

1 Tulostettu aina. 1 Ei aina tulostettu. 2 Tulostettu aina. 3 Tulostettu aina. 4 Tulostettu aina. 5 Tulostettu aina. 5 Ei aina tulostettu.

Kun i: n arvo on suurempi kuin 1 ja alle 5, continuesuoritetaan, mikä ohittaa suorituksen

 println ("$ i Ei aina tulostettu.")

lausunto.

Kuitenkin lausunto

 println ("$ i aina tulostettu.")

suoritetaan jokaisessa silmukan iteraatiossa, koska tämä lause on olemassa ennen continuerakennetta.

Esimerkki: Laske vain positiivisten lukujen summa

Alla oleva ohjelma laskee enintään 6 käyttäjän kirjoittaman positiivisen luvun summan. Jos käyttäjä syöttää negatiivisen luvun tai nollan, se ohitetaan laskennasta.

Vierailemalla Kotlin Basic Input Output -sivulla saat lisätietoja siitä, miten käyttäjä voi syöttää syötteitä.

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

Kun suoritat ohjelmaa, tulos on:

 Syötä kokonaisluku: 4 Syötä kokonaisluku: 5 Syötä kokonaisluku: -50 Syötä kokonaisluku: 10 Syötä kokonaisluku: 0 Syötä kokonaisluku: 12 summa = 31

Kotlin Labeled jatkuu

Tähän mennessä oppimasi on merkitsemätön muoto continue, joka ohittaa lähimmän sulkevan silmukan nykyisen iteroinnin. continuevoidaan käyttää myös ohittaa halutun silmukan iterointi (voi olla ulompi silmukka) käyttämällä continuetarroja.

Kuinka leimattu jatko toimii?

Kotlinin tunniste alkaa tunnuksella, jota seuraa @.

Tässä ulompi silmukka @ on etiketti, joka on merkitty ulommalle silmukalle. Nyt voit käyttää ohjelmaa continue( continue@outerlooptässä tapauksessa) käyttämällä ohittaa tietyn silmukan koodien suorittamisen kyseiselle iteraatiolle.

Esimerkki: merkitty jatka

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

Kun suoritat ohjelmaa, tulos on:

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

Tarrojen käyttöä continueei suositella, koska se tekee koodistasi vaikeasti ymmärrettävän. Jos olet tilanteessa, jossa sinun on käytettävä merkintöjä continue, korjaa koodi ja yritä ratkaista se toisella tavalla, jotta se olisi helpommin luettavissa.

On 3 rakenteellisia hyppy ilmaisuja Kotlin: break, continueja return. Jos haluat oppia breakja returnilmaisua, käy:

  • Kotlin tauko
  • Kotlin-toiminto

Mielenkiintoisia artikkeleita...