I den här handledningen lär du dig att fortsätta att hoppa över den aktuella iterationen av en slinga. Du kommer också att lära dig om fortsatta etiketter i den här artikeln.
Antag att du arbetar med öglor. Ibland är det önskvärt att hoppa över den aktuella iterationen av slingan.
I sådana fall continue
används. Den continue
konstruktionen hoppar över det aktuella iteration av den inneslutande slinga, och kontroll av programmet hoppar till slutet av slingan.
Hur fortsätter fungerar?
Det används nästan alltid med if … annars konstruera. Till exempel,
medan (testExpression1) (// codes1 if (testExpression2) (fortsätt) // codes2)
Om testExpression2 utvärderas till true
, continue
utförs som hoppar alla koder inuti while
slingan efter det för det iteration.
Exempel: Kotlin fortsätt
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ör programmet blir resultatet:
1 Trycks alltid. 1 Trycks inte alltid. 2 Alltid tryckt. 3 Alltid tryckt. 4 Alltid tryckt. 5 Trycks alltid. 5 Trycks inte alltid.
När värdet på i är större än 1 och mindre än 5 continue
körs, vilket hoppar över körningen av
println ("$ i Trycks inte alltid.")
påstående.
Men uttalandet
println ("$ i Alltid tryckt.")
körs i varje iteration av slingan eftersom detta uttalande existerar före continue
konstruktionen.
Exempel: Beräkna endast summan av positiva siffror
Programmet nedan beräknar summan av maximalt 6 positiva siffror som skrivits in av användaren. Om användaren anger ett negativt tal eller noll hoppas det över från beräkningen.
Besök Kotlin Basic Input Output för att lära dig mer om hur du tar in input från användaren.
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ör programmet blir resultatet:
Ange ett heltal: 4 Ange ett heltal: 5 Ange ett heltal: -50 Ange ett heltal: 10 Ange ett heltal: 0 Ange ett heltal: 12 summa = 31
Kotlin Labeled fortsätt
Vad du hittills har lärt dig är omärkt form av continue
, som hoppar över aktuell iteration av närmaste slutna slinga. continue
kan också användas för att hoppa över iterationen av önskad slinga (kan vara yttre slinga) med hjälp av continue
etiketter.
Hur fungerar fortsättningen märkt?
Etiketten i Kotlin börjar med en identifierare som följs av @
.
Här är outerloop @ en etikett som är markerad på yttre while loop. Nu, genom att använda continue
med etiketten ( continue@outerloop
i det här fallet), kan du hoppa över körningen av koder för den specifika slingan för den iterationen.
Exempel: märkt fortsätt
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ör programmet blir resultatet:
i = 1; j = 1 i = 2; j = 1 i = 4; j = 1 i = 5; j = 1
Användningen av märkt continue
avråds ofta eftersom det gör din kod svår att förstå. Om du befinner dig i en situation där du måste använda märkt continue
, omformulera din kod och försök att lösa den på ett annat sätt för att göra den mer läsbar.
Det finns 3 strukturella hoppa uttryck i Kotlin: break
, continue
och return
. För att lära dig mer om break
och return
uttryck, besök:
- Kotlin paus
- Kotlin-funktion