Kotlin taas ja tee ... kun taas silmukka (esimerkkien kanssa)

Silmukkaa käytetään ohjelmoinnissa tietyn koodilohkon toistamiseen. Tässä artikkelissa opit luomaan Kotlin-ohjelmoinnissa silmukoita.

Silmukkaa käytetään ohjelmoinnissa tietyn koodilohkon toistamiseen, kunnes tietyt ehdot täyttyvät (testiilmaus on false).

Silmukat tekevät tietokoneista mielenkiintoisia koneita. Kuvittele, että sinun on tulostettava lause 50 kertaa näytölle. No, voit tehdä sen käyttämällä tulostuslauseketta 50 kertaa (ilman silmukoita). Entä sinun tarvitsee tulostaa lause miljoona kertaa? Sinun on käytettävä silmukoita.

Opit kahdesta silmukasta whileja do… whiletässä artikkelissa esimerkkien avulla.

Jos tunnet jonkin aikaa ja teet … vaikka silmukat Java-ohjelmassa, tunnet nämä silmukat jo myös Kotlinissa.

Kotlin kun silmukka

whileSilmukan syntaksi on:

 while (testExpression) (// koodaa while-silmukan rungon sisällä)

Kuinka silmukka toimii?

Sulkeissa oleva testilauseke on Boolen lauseke.

Jos testi lauseke on arvioidaan true,

  • while-silmukan sisällä olevat lauseet suoritetaan.
  • sitten testilauseke arvioidaan uudelleen.

Tätä prosessia jatketaan, kunnes testilauseke arvioidaan false.

Jos testi lauseke on arvioidaan false,

  • kun silmukka lopetetaan.

Vuokaavio silmukasta

Esimerkki: Kotlin samalla silmukka

 // Ohjelma tulostaa viiva 5 kertaa fun main(args: Array) ( var i = 1 while (i <= 5) ( println("Line $i") ++i ) )

Kun suoritat ohjelmaa, tulos on:

 Rivi 1 Rivi 2 Rivi 3 Rivi 4 Rivi 5

Huomaa, ++ilausunto whilesilmukan sisällä . Viiden iteraation jälkeen muuttuja i kasvaa arvoon 6. Sitten testilauseke i <= 5arvioidaan falseja silmukka päättyy.

Jos silmukan rungossa on vain yksi lause, ei ole välttämätöntä käyttää kiharaisia ​​aaltosulkeita ( ).

Esimerkki: Laske luonnollisten numeroiden summa

 // Program to compute the sum of natural numbers from 1 to 100. fun main(args: Array) ( var sum = 0 var i = 100 while (i != 0) ( sum += i // sum = sum + i; --i ) println("sum = $sum") )

Kun suoritat ohjelmaa, tulos on:

 summa = 5050

Tässä muuttujan summa alustetaan arvoon 0 ja i alustetaan arvoon 100. Jokaisessa while-silmukan iteraatiossa määritetään muuttujan summa sum + ija i: n arvoa pienennetään yhdellä, kunnes i on yhtä suuri kuin 0. Paremman visualisoinnin takaamiseksi

 1. iteraatio: summa = 0 + 100 = 100, i = 99 2. iteraatio: summa = 100 + 99 = 199, i = 98 3. iterointi: summa = 199 + 98 = 297, i = 97…… 99. iteraatio: summa = 5047 +2 = 5049, i = 1 100. iterointi: summa = 5049 + 1 = 5050, i = 0 (sitten silmukka päättyy)

Lisätietoja testilausekkeesta ja sen arvioinnista on vertailu- ja loogisissa operaattoreissa.

Kotlin tekee … silmukan aikana

do… whileSilmukka on samanlainen kuin whilesilmukka on yksi merkittävä ero. do… whileSilmukan runko suoritetaan kerran ennen testilausekkeen tarkistamista.

Sen syntaksi on:

 do (// koodit do while -silmukan rungossa) while (testExpression);

Kuinka… vaikka silmukka toimii?

doKoodirungon sisällä olevat koodit suoritetaan kerran (tarkistamatta testilausetta). Sitten testilauseke tarkistetaan.

Jos testilauseke arvioidaan arvoon true, suoritetaan silmukan rungossa olevat koodit ja testilauseke arvioidaan uudelleen. Tätä prosessia jatketaan, kunnes testilauseke arvioidaan false.

Kun testilauseke arvioidaan false, do… whilesilmukka päättyy.

Vuokaavio tehtävästä … samalla kun silmukka

Esimerkki: Kotlin tekee… silmukan aikana

Alla oleva ohjelma laskee käyttäjän syöttämien numeroiden summan, kunnes käyttäjä syöttää 0.

readline()Funktiota käytetään käyttäjän syötteen ottamiseen . Suositeltava lukeminen: Kotlin Basic Input

 fun main(args: Array) ( var sum: Int = 0 var input: String do ( print("Enter an integer: ") input = readLine()!! sum += input.toInt() ) while (input != "0") println("sum = $sum") )

Kun suoritat ohjelmaa, tulos on jotain:

 Syötä kokonaisluku: 4 Syötä kokonaisluku: 3 Syötä kokonaisluku: 2 Syötä kokonaisluku: -6 Syötä kokonaisluku: 0 summa = 3 

Mielenkiintoisia artikkeleita...