W tym samouczku nauczysz się używać opcji Continue, aby pominąć bieżącą iterację pętli. W tym artykule dowiesz się również o etykietach kontynuacji.
Załóżmy, że pracujesz z pętlami. Czasami pożądane jest pominięcie bieżącej iteracji pętli.
W takim przypadku continue
jest używany. continue
Konstrukt przeskoczenie bieżącej iteracji pętli otaczającej i kontroli program przechodzi do końca ciała pętli.
Jak działa dalej?
Jest prawie zawsze używany z konstrukcją if… else. Na przykład,
while (testExpression1) (// kody1 if (testExpression2) (kontynuuj) // kody2)
Jeśli testExpression2 jest oceniany na true
, continue
jest wykonywany, który pomija wszystkie kody wewnątrz while
pętli po niej dla tej iteracji.
Przykład: Kotlin kontynuuje
fun main(args: Array) ( for (i in 1… 5) ( println("$i Always printed.") if (i> 1 && i < 5) ( continue ) println("$i Not always printed.") ) )
Po uruchomieniu programu wynik będzie następujący:
1 Zawsze drukowane. 1 Nie zawsze drukowane. 2 Zawsze drukowane. 3 Zawsze drukowane. 4 Zawsze drukowane. 5 Zawsze drukowane. 5 Nie zawsze drukowane.
Gdy wartość i jest większa niż 1 i mniejsza niż 5, continue
jest wykonywany, co pomija wykonanie
println ("$ i Nie zawsze drukowane.")
komunikat.
Jednak oświadczenie
println ("$ i zawsze drukowane.")
jest wykonywana w każdej iteracji pętli, ponieważ ta instrukcja istnieje przed continue
konstrukcją.
Przykład: Oblicz sumę tylko liczb dodatnich
Poniższy program oblicza sumę maksymalnie 6 liczb dodatnich wprowadzonych przez użytkownika. Jeśli użytkownik wprowadzi liczbę ujemną lub zero, zostanie pominięty w obliczeniach.
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 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") )
Po uruchomieniu programu wynik będzie następujący:
Podaj liczbę całkowitą: 4 Podaj liczbę całkowitą: 5 Podaj liczbę całkowitą: -50 Podaj liczbę całkowitą: 10 Podaj liczbę całkowitą: 0 Podaj liczbę całkowitą: 12 suma = 31
Kotlin Oznaczony dalej
To, czego się nauczyłeś do tej pory, jest nieoznaczoną formą continue
, która pomija bieżącą iterację najbliższej otaczającej pętli. continue
można również użyć do pominięcia iteracji żądanej pętli (może to być pętla zewnętrzna) przy użyciu continue
etykiet.
Jak działa oznaczony dalej?
Etykieta w Kotlinie zaczyna się od identyfikatora, po którym następuje @
.
Tutaj zewnętrzna pętla @ jest etykietą oznaczoną na zewnętrznej pętli while. Teraz, używając continue
z etykietą ( continue@outerloop
w tym przypadku), możesz pominąć wykonywanie kodów określonej pętli dla tej iteracji.
Przykład: oznaczony jako kontynuuj
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") ) ) )
Po uruchomieniu programu wynik będzie następujący:
i = 1; j = 1 i = 2; j = 1 i = 4; j = 1 i = 5; j = 1
Używanie etykiet continue
jest często odradzane, ponieważ utrudnia to zrozumienie kodu. Jeśli jesteś w sytuacji, w której musisz użyć etykiet continue
, zrefaktoryzuj swój kod i spróbuj rozwiązać go w inny sposób, aby był bardziej czytelny.
W Kotlin istnieją 3 wyrazy jump strukturalne: break
, continue
i return
. Aby dowiedzieć się więcej break
i return
wyrazić swoją opinię, odwiedź:
- Przerwa Kotlin
- Funkcja Kotlina