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 break
jest 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
, break
jest wykonywany, co kończy for
pę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 == 5
wewnątrz if
jest obliczane true
i break
wykonywane. 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 while
pętli jest zawsze true
.
Tutaj while
pętla działa, dopóki użytkownik nie wprowadzi 0. Gdy użytkownik wprowadzi 0, break
wykonywane jest zakończenie while
pę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 break
zakoń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 break
z etykietą ( break@test
w 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 == 2
wyliczane jest wyrażenie true
, break@first
jest 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ż, break
sł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
, continue
i return
. Aby dowiedzieć się więcej continue
i return
wyrazić swoją opinię, odwiedź:
- Kotlin kontynuuje
- Funkcja Kotlina