Ebben az oktatóanyagban megtanulja használni a hurok aktuális iterációjának kihagyását. Ezenkívül megtudhatja a folytatás címkéit is ebben a cikkben.
Tegyük fel, hogy hurkokkal dolgozik. Néha kívánatos kihagyni a hurok aktuális iterációját.
Ebben az esetben continue
használják. A continue
konstrukció kihagyja a bezáró hurok aktuális iterációját, és a program vezérlése a hurok testének végére ugrik.
Hogyan működik a folytatás?
Szinte mindig használják, ha… más konstrukcióval. Például,
while (testExpression1) (// kódok1 if (testExpression2) (folytatás) // kódok2)
Ha a testExpression2 értéket kapja true
, continue
akkor végrehajtásra kerül, amely while
az adott iteráció után kihagyja az összes kódot a hurokban.
Példa: Kotlin folytatja
fun main(args: Array) ( for (i in 1… 5) ( println("$i Always printed.") if (i> 1 && i < 5) ( continue ) println("$i Not always printed.") ) )
A program futtatásakor a kimenet a következő lesz:
1 Mindig nyomtatva. 1 Nem mindig nyomtatott. 2 Mindig nyomtatva. 3 Mindig nyomtatva. 4 Mindig nyomtatva. 5 Mindig nyomtatva. 5 Nem mindig nyomtatott.
Ha i értéke nagyobb, mint 1, és kisebb, mint 5, continue
akkor végrehajtásra kerül, ami kihagyja a végrehajtását
println ("$ i nem mindig nyomtatva.")
nyilatkozat.
Azonban a kijelentés
println ("$ i mindig nyomtatva.")
a ciklus minden iterációjában végrehajtásra kerül, mert ez az utasítás a continue
konstrukció előtt létezik .
Példa: Csak a pozitív számok összegének kiszámítása
Az alábbi program kiszámítja a felhasználó által megadott maximum 6 pozitív szám összegét. Ha a felhasználó negatív számot vagy nulla értéket ad meg, akkor az kihagyásra kerül a számításból.
Látogasson el a Kotlin Basic Input Output oldalra, ha többet szeretne megtudni arról, hogyan veheti át a felhasználótól a felhasználót.
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") )
A program futtatásakor a kimenet a következő lesz:
Írjon be egy egész számot: 4 Írjon be egy egész számot: 5 Írjon be egy egész számot: -50 Írjon be egy egész számot: 10 Írjon be egy egész számot: 0 Írjon be egy egész számot: 12 összeg = 31
Kotlin Labeled folytatása
Amit eddig tanultál, az a felirat nélküli formája continue
, amely kihagyja a legközelebbi záró hurok jelenlegi iterációját. címkék continue
használatával a kívánt hurok (lehet külső hurok) iterációjának kihagyására is használható continue
.
Hogyan működik a címkézett folytatás?
A címke Kotlinban egy azonosítóval kezdődik, amelyet követ @
.
Itt a externalloop @ egy címke, amelyet a while while hurok jelöl. Most continue
a címke használatával ( continue@outerloop
ebben az esetben) kihagyhatja az adott ciklus kódjainak végrehajtását az adott iterációhoz.
Példa: folytatás címkével
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") ) ) )
A program futtatásakor a kimenet a következő lesz:
i = 1; j = 1 i = 2; j = 1 i = 4; j = 1 i = 5; j = 1
A címkézés continue
használatát gyakran nem javasoljuk, mivel ez megnehezíti a kód megértését. Ha olyan helyzetben van, hogy címkézést kell használnia continue
, akkor alakítsa át a kódot, és próbálja meg más módon megoldani, hogy jobban olvasható legyen.
Jelenleg 3 szerkezeti ugrás kifejezéseket Kotlin: break
, continue
és return
. Ha többet szeretne megtudni break
és return
kifejezni, látogasson el ide:
- Kotlin szünet
- Kotlin funkció