A hurok a programozás során egy adott kódblokk megismétlésére szolgál. Ebben a cikkben megtanulod a Kotlin programozási ciklusok létrehozását és a hurok készítését.
A hurok a programozás során egy adott kódblokk megismétlésére szolgál, amíg bizonyos feltételek nem teljesülnek (a teszt kifejezés az false)
.
A hurkok teszik érdekes számítógéppé a számítógépeket. Képzelje el, hogy egy mondatot 50 alkalommal kell kinyomtatnia a képernyőn. Nos, megteheti úgy, hogy 50 alkalommal használja a nyomtatott utasításokat (ciklusok használata nélkül). Mi lenne, ha egymilliószor kellene kinyomtatnia egy mondatot? Hurkokat kell használnia.
Két hurkot while
és do… while
ebben a cikkben megtudhat példák segítségével.
Ha ismeri a while-ot, és … miközben a hurkok Java-ban vannak, akkor Kotlin-ben is ismeri ezeket a ciklusokat.
Kotlin közben Loop
A while
hurok szintaxisa :
while (testExpression) (// kódolja a while ciklus belső részét)
Hogyan működik a hurok?
A zárójelben lévő teszt kifejezés logikai kifejezés.
Ha a teszt kifejezést értékelik true
,
- a while cikluson belüli utasítások végrehajtásra kerülnek.
- majd a teszt kifejezést újra kiértékeljük.
Ez a folyamat addig tart, amíg kiértékelik a teszt kifejezést false
.
Ha a teszt kifejezést értékelik false
,
- míg a hurok megszakad.
A Hurok folyamatábrája
Példa: Kotlin, míg a hurok
// Program nyomtassa ki a sort ötször fun main(args: Array) ( var i = 1 while (i <= 5) ( println("Line $i") ++i ) )
A program futtatásakor a kimenet a következő lesz:
1. vonal 2. vonal 3. vonal 4. vonal 5. vonal
Figyelem, ++i
nyilatkozat a while
hurokban. 5 iteráció után az i változó 6-ra növekszik. Ezután a teszt kifejezést i <= 5
kiértékeli false
és a hurok befejeződik.
Ha a hurok törzsének csak egy állítása van, akkor nem szükséges göndör zárójelet használni ( )
.
Példa: Számítsa ki a természetes számok összegét
// 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") )
A program futtatásakor a kimenet a következő lesz:
összeg = 5050
Itt a változó összegét 0-ra, az i-t pedig 100-ra inicializáljuk. A while ciklus minden egyes iterációjában változó összeg kerül hozzárendelésre sum + i
, és az i értéke 1-vel csökken, amíg i meg nem egyezik 0.
1. iteráció: összeg = 0 + 100 = 100, i = 99 2. iteráció: összeg = 100 + 99 = 199, i = 98 3. iteráció: összeg = 199 + 98 = 297, i = 97…… 99. iteráció: összeg = 5047 +2 = 5049, i = 1 100. iteráció: összeg = 5049 + 1 = 5050, i = 0 (akkor a hurok befejeződik)
Ha többet szeretne megtudni a teszt kifejezésről és annak értékeléséről, látogasson el az összehasonlítás és a logikai operátorok oldalára.
Kotlin nem … míg a hurok
A do… while
hurok hasonló a while
hurokhoz, egyetlen kulcs különbséggel. A do… while
ciklus törzse a teszt kifejezés ellenőrzése előtt egyszer végrehajtásra kerül.
Szintaxisa:
do (// kódok a do while loop belsejében), míg (testExpression);
Hogyan… miközben a hurok működik?
A do
konstrukciótesten belüli kódok egyszer végrehajtásra kerülnek (a testExpression ellenőrzése nélkül). Ezután ellenőrizzük a teszt kifejezést.
Ha a teszt kifejezést értékelik true
, akkor a hurok testében lévő kódok végrehajtásra kerülnek, és a teszt kifejezést újra kiértékelik. Ez a folyamat addig tart, amíg kiértékelik a teszt kifejezést false
.
Amikor a teszt kifejezést értékelik false
, a do… while
hurok befejeződik.
A do folyamatábrája … míg a hurok
Példa: Kotlin do… while Loop
Az alábbi program kiszámítja a felhasználó által megadott számok összegét, amíg a felhasználó be nem írja a 0 értéket.
A felhasználó bemenetének átvételéhez a readline()
függvényt használják. Ajánlott irodalom: 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") )
A program futtatásakor a kimenet valami hasonló lesz:
Írjon be egy egész számot: 4 Írjon be egy egész számot: 3 Írjon be egy egész számot: 2 Írjon be egy egész számot: -6 Írjon be egy egész számot: 0 összeg = 3