I denne vejledning lærer du at fortsætte med at springe den aktuelle iteration af en loop over. Du vil også lære om fortsatte etiketter i denne artikel.
Antag at du arbejder med sløjfer. Det er undertiden ønskeligt at springe den aktuelle iteration af sløjfen over.
I et sådant tilfælde continue
anvendes. Den continue
konstruktion springer den aktuelle iteration af omsluttende løkke, og styringen af programmet hopper til slutningen af løkken krop.
Hvordan fortsætter fungerer?
Det bruges næsten altid med if… else konstruere. For eksempel,
mens (testExpression1) (// codes1 if (testExpression2) (continue) // codes2)
Hvis testExpression2 evalueres til true
, continue
udføres der, som springer alle koder inde i while
sløjfen efter den til den iteration.
Eksempel: Kotlin fortsætter
fun main(args: Array) ( for (i in 1… 5) ( println("$i Always printed.") if (i> 1 && i < 5) ( continue ) println("$i Not always printed.") ) )
Når du kører programmet, vil output være:
1 Altid udskrevet. 1 Ikke altid udskrevet. 2 Altid udskrevet. 3 Altid udskrevet. 4 Altid udskrevet. 5 Trykt altid. 5 Ikke altid udskrevet.
Når værdien af i er større end 1 og mindre end 5, continue
udføres, hvilket springer udførelsen af
println ("$ i Ikke altid udskrevet.")
udmelding.
Imidlertid erklæringen
println ("$ i Altid udskrevet.")
udføres i hver iteration af sløjfen, fordi denne erklæring eksisterer før continue
konstruktionen.
Eksempel: Beregn kun summen af positive tal
Programmet nedenfor beregner summen af maksimalt 6 positive tal indtastet af brugeren. Hvis brugeren indtaster et negativt tal eller nul, springes det over fra beregningen.
Besøg Kotlin Basic Input Output for at lære mere om, hvordan du tager input fra brugeren.
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") )
Når du kører programmet, vil output være:
Indtast et heltal: 4 Indtast et heltal: 5 Indtast et heltal: -50 Indtast et heltal: 10 Indtast et heltal: 0 Indtast et heltal: 12 sum = 31
Kotlin-mærket fortsæt
Det, du hidtil har lært, er umærket form for continue
, som springer igangværende iteration af den nærmeste lukkende sløjfe. continue
kan også bruges til at springe iteration af den ønskede sløjfe over (kan være ydre sløjfe) ved hjælp af continue
etiketter.
Hvordan mærket fortsætter fungerer?
Etiket i Kotlin starter med en identifikator, der efterfølges af @
.
Her er outerloop @ en etiket, der er markeret ved den ydre mens loop. Nu ved at bruge continue
med etiketten ( continue@outerloop
i dette tilfælde) kan du springe over udførelsen af koder for den specifikke sløjfe til den iteration.
Eksempel: mærket fortsæt
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") ) ) )
Når du kører programmet, vil output være:
i = 1; j = 1 i = 2; j = 1 i = 4; j = 1 i = 5; j = 1
Brugen af mærket continue
frarådes ofte, da det gør din kode vanskelig at forstå. Hvis du er i en situation, hvor du skal bruge mærket continue
, skal du omlægge din kode og prøve at løse den på en anden måde for at gøre den mere læselig.
Der er 3 strukturelle hoppe udtryk i Kotlin: break
, continue
og return
. For at lære om break
og return
udtryk, besøg:
- Kotlin pause
- Kotlin-funktion