Kotlin przerwa (z przykładami)

W tym samouczku nauczysz się używać przerwania do przerywania pętli. Dowiesz się również o etykietach przerw.

Załóżmy, że pracujesz z pętlami. Czasami pożądane jest natychmiastowe zakończenie pętli bez sprawdzania wyrażenia testowego.

W takim przypadku breakjest używany. Po napotkaniu kończy najbliższą otaczającą pętlę (bez sprawdzania wyrażenia testowego). Jest to podobne do działania instrukcji break w Javie.

Jak działa przerwa?

Jest prawie zawsze używany z konstrukcją if… else. Na przykład,

 for (…) (if (testExpression) (break))

Jeśli testExpression jest oceniany na true, breakjest wykonywany, co kończy forpętlę.

Przykład: Przerwa Kotlin

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

Po uruchomieniu programu wynik będzie następujący:

 1 2 3 4 

Gdy wartość i jest równa 5, wyrażenie i == 5wewnątrz ifjest obliczane truei breakwykonywane. To kończy pętlę for.

Przykład: Oblicz sumę, dopóki użytkownik nie wprowadzi 0

Poniższy program oblicza sumę liczb wprowadzonych przez użytkownika do momentu wprowadzenia 0.

Odwiedź stronę Kotlin Basic Input Output, aby dowiedzieć się więcej o tym, jak przyjmować dane wejściowe od użytkownika.

 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") )

Po uruchomieniu programu wynik będzie następujący:

 Podaj liczbę: 4 Podaj liczbę: 12 Podaj liczbę: 6 Podaj liczbę: -9 Podaj liczbę: 0 Suma = 13

W powyższym programie testowym wyrażeniem whilepętli jest zawsze true.

Tutaj whilepętla działa, dopóki użytkownik nie wprowadzi 0. Gdy użytkownik wprowadzi 0, breakwykonywane jest zakończenie whilepętli.

Kotlin Oznaczona przerwa

To, czego nauczyłeś się do tej pory, to nieoznaczona forma break, która kończy najbliższą obejmującą pętlę. Istnieje inny sposób breakzakończenia żądanej pętli (może to być pętla zewnętrzna) (forma oznaczona).

Jak działa oznaczona przerwa?

Etykieta w Kotlinie zaczyna się od identyfikatora, po którym następuje @.

Tutaj test @ jest etykietą oznaczoną na zewnętrznej pętli while. Teraz, używając breakz etykietą ( break@testw tym przypadku), możesz przerwać określoną pętlę.

Oto przykład:

 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 ) ) )

Po uruchomieniu programu wynik będzie następujący:

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

Tutaj, gdy i == 2wyliczane jest wyrażenie true, break@firstjest wykonywane, co kończy pętlę oznaczoną etykietą first@.

Oto mała odmiana powyższego programu.

W poniższym programie break kończy pętlę oznaczoną etykietą @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 ) ) ) 

Po uruchomieniu programu wynik będzie następujący:

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

Uwaga: Ponieważ, breaksłuży do kończenia najbardziej wewnętrznej pętli w tym programie, w tym przypadku nie jest konieczne używanie etykiety break.

W Kotlin istnieją 3 wyrazy jump strukturalne: break, continuei return. Aby dowiedzieć się więcej continuei returnwyrazić swoją opinię, odwiedź:

  • Kotlin kontynuuje
  • Funkcja Kotlina

Interesujące artykuły...