Kotlin while and do ... while Loop (met voorbeelden)

Loop wordt gebruikt bij het programmeren om een ​​specifiek codeblok te herhalen. In dit artikel leer je while en do … while-loops te maken in Kotlin-programmering.

Loop wordt gebruikt bij het programmeren om een ​​specifiek codeblok te herhalen totdat aan een bepaalde voorwaarde is voldaan (testuitdrukking is false).

Lussen maken computers tot interessante machines. Stel je voor dat je een zin 50 keer op je scherm moet afdrukken. Welnu, je kunt het doen door de afdrukinstructie 50 keer te gebruiken (zonder loops te gebruiken). Moet u een zin een miljoen keer afdrukken? U moet lussen gebruiken.

Je leert over twee loops whileen do… whilein dit artikel met behulp van voorbeelden.

Als je bekend bent met while en do … while-loops in Java, ben je ook al bekend met deze loops in Kotlin.

Kotlin terwijl Loop

De syntaxis van whileloop is:

 while (testExpression) (// codes in de body van de while-lus)

Hoe werkt while-lus?

De testuitdrukking tussen haakjes is een Booleaanse uitdrukking.

Als de testuitdrukking wordt geëvalueerd naar true,

  • instructies binnen de while-lus worden uitgevoerd.
  • vervolgens wordt de testuitdrukking opnieuw geëvalueerd.

Dit proces gaat door totdat de testuitdrukking is geëvalueerd false.

Als de testuitdrukking wordt geëvalueerd naar false,

  • terwijl de lus wordt beëindigd.

Stroomdiagram van while-lus

Voorbeeld: Kotlin while Loop

 // Programma om regel 5 keer af te drukken fun main(args: Array) ( var i = 1 while (i <= 5) ( println("Line $i") ++i ) )

Wanneer u het programma uitvoert, is de uitvoer:

 Lijn 1 Lijn 2 Lijn 3 Lijn 4 Lijn 5

Let op, ++iverklaring binnen de whilelus. Na 5 iteraties wordt variabele i opgehoogd tot 6. Vervolgens wordt de testuitdrukking i <= 5geëvalueerd falseen wordt de lus beëindigd.

Als de body van de lus slechts één instructie heeft, is het niet nodig om accolades te gebruiken ( ).

Voorbeeld: bereken de som van natuurlijke getallen

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

Wanneer u het programma uitvoert, is de uitvoer:

 som = 5050

Hier wordt de variabele som geïnitialiseerd op 0 en i wordt geïnitialiseerd op 100. In elke iteratie van while-lus wordt variabele som toegewezen sum + i, en de waarde van i wordt verlaagd met 1 totdat i gelijk is aan 0. Voor een betere visualisatie,

 1e iteratie: som = 0 + 100 = 100, i = 99 2e iteratie: som = 100 + 99 = 199, i = 98 3e iteratie: som = 199 + 98 = 297, i = 97 … … 99e iteratie: som = 5047 +2 = 5049, i = 1100ste iteratie: som = 5049 + 1 = 5050, i = 0 (dan eindigt de lus)

Voor meer informatie over testuitdrukking en hoe deze wordt geëvalueerd, gaat u naar vergelijkings- en logische operators.

Kotlin doet … terwijl Loop

De do… whilelus is vergelijkbaar met de whilelus met één belangrijk verschil. De hoofdtekst van de do… whilelus wordt eenmaal uitgevoerd voordat de testuitdrukking wordt gecontroleerd.

De syntaxis is:

 do (// codes in de body van do while loop) while (testExpression);

Hoe werkt de while-lus?

De codes in de body van doconstruct worden één keer uitgevoerd (zonder de testExpression te controleren). Vervolgens wordt de testuitdrukking gecontroleerd.

Als de testuitdrukking wordt geëvalueerd naar true, worden codes in de hoofdtekst van de lus uitgevoerd en wordt de testuitdrukking opnieuw geëvalueerd. Dit proces gaat door totdat de testuitdrukking is geëvalueerd false.

Wanneer de testuitdrukking wordt geëvalueerd naar false, do… whileeindigt de lus.

Stroomschema van do… while Loop

Voorbeeld: Kotlin do… while Loop

Het onderstaande programma berekent de som van de getallen die door de gebruiker zijn ingevoerd totdat de gebruiker 0 invoert.

Om input van de gebruiker te krijgen, wordt de readline()functie gebruikt. Aanbevolen literatuur: 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") )

Wanneer u het programma uitvoert, ziet de uitvoer er ongeveer zo uit:

 Voer een geheel getal in: 4 Voer een geheel getal in: 3 Voer een geheel getal in: 2 Voer een geheel getal in: -6 Voer een geheel getal in: 0 som = 3 

Interessante artikelen...