Kotlin-paus (med exempel)

Innehållsförteckning

I den här handledningen lär du dig att använda break för att avsluta en loop. Du kommer också att lära dig om pausetiketter.

Antag att du arbetar med öglor. Ibland är det önskvärt att avsluta slingan direkt utan att kontrollera testuttrycket.

I sådana fall breakanvänds. Den avslutar närmaste slutna slinga när den påträffas (utan att testuttrycket kontrolleras). Detta liknar hur break statement fungerar i Java.

Hur fungerar paus?

Det används nästan alltid med if … annars konstruera. Till exempel,

 för (…) (if (testExpression) (break))

Om testExpression utvärderas till true, breakkörs det som avslutar forslingan.

Exempel: Kotlin-paus

 fun main(args: Array) ( for (i in 1… 10) ( if (i == 5) ( break ) println(i) ) )

När du kör programmet blir resultatet:

 1 2 3 4 

När värdet på i är lika med 5 utvärderas uttrycket i == 5inuti och exekveras. Detta avslutar for-slingan.iftruebreak

Exempel: Beräkna summan tills användaren anger 0

Programmet nedan beräknar summan av siffror som användaren har angett tills användaren anger 0.

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 sum = 0 var number: Int while (true) ( print("Enter a number: ") number = readLine()!!.toInt() if (number == 0) break sum += number ) print("sum = $sum") )

När du kör programmet blir resultatet:

 Ange ett nummer: 4 Ange ett nummer: 12 Ange ett nummer: 6 Ange ett nummer: -9 Ange ett nummer: 0 summa = 13

I ovanstående program är testuttrycket av whileslingan alltid true.

Här whilekörs slingan tills användaren går in i 0. När användaren matar in 0, breakexekveras vilket avslutar whileslingan.

Kotlin Märkt paus

Det du hittills har lärt dig är omärkt form av break, som avslutar närmaste slutna slinga. Det finns ett annat sätt breakkan användas (märkt form) för att avsluta önskad slinga (kan vara yttre slinga).

Hur fungerar märkt brytning?

Etiketten i Kotlin börjar med en identifierare som följs av @.

Här är test @ en etikett som är markerad på den yttre medan slingan. Nu, genom att använda breakmed en etikett ( break@testi det här fallet), kan du bryta den specifika slingan.

Här är ett exempel:

 fun main(args: Array) ( first@ for (i in 1… 4) ( second@ for (j in 1… 2) ( println("i = $i; j = $j") if (i == 2) break@first ) ) )

När du kör programmet blir resultatet:

i = 1; j = 1 i = 1; j = 2 i = 2; j = 1

Här, när i == 2uttrycket utvärderas till true, break@firstkörs det som avslutar slingan markerad med etikett first@.

Här är en liten variation av ovanstående program.

I programmet nedan avslutar break slingan märkt med etikett @second.

 fun main(args: Array) ( first@ for (i in 1… 4) ( second@ for (j in 1… 2) ( println("i = $i; j = $j") if (i == 2) break@second ) ) ) 

När du kör programmet blir resultatet:

i = 1; j = 1 i = 1; j = 2 i = 2; j = 1 i = 3; j = 1 i = 3; j = 2 i = 4; j = 1 i = 4; j = 2

Obs: Eftersom breakanvänds för att avsluta den innersta slingan i detta program är det inte nödvändigt att använda märkt brytning i det här fallet.

Det finns 3 strukturella hoppa uttryck i Kotlin: break, continueoch return. För att lära dig mer om continueoch returnuttryck, besök:

  • Kotlin fortsätter
  • Kotlin-funktion

Intressanta artiklar...