break i continue
Pomijanie i kończenie iteracji
break i continue to bezpłatna lekcja Java Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Java Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Java Academy zawiera 4 lekcji w sumie.
Po co sterować pętlą?
Pętle powtarzają kod, ale czasami trzeba wcześniej zakończyć działanie albo pominąć element.
Java udostępnia do tego dwa proste narzędzia: break całkowicie kończy pętlę, a continue przechodzi do następnego obiegu.
W tej lekcji dowiedzą się Państwo dokładnie, kiedy każde z nich zadziała i jak zmienia przebieg pętli.
Instrukcja break
Słowo kluczowe break natychmiast zatrzymuje najbliższą pętlę.
Wykonywanie programu przechodzi do pierwszego wiersza znajdującego się za pętlą. Wszystkie pozostałe iteracje zostają pominięte.
W poniższym przykładzie pętla zatrzymuje się, gdy tylko i osiągnie wartość 3.
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
break;
}
System.out.println("i = " + i);
}
System.out.println("Done");
}
}Co wypisało break
Program wypisał i = 1 i i = 2, a następnie Done.
Gdy i stało się równe 3, zadziałało break, więc wartości 3, 4 i 5 nigdy nie zostały wypisane.
break doskonale sprawdza się wtedy, gdy znaleziono potrzebny element i wyszukiwanie powinno zostać zakończone.
Instrukcja continue
Słowo kluczowe continue pomija pozostałą część bieżącej iteracji.
Pętla nie zostaje zatrzymana. Wykonywanie wraca do nagłówka pętli i przechodzi do następnej wartości.
W tym przykładzie pomijana jest liczba 3, ale pętla działa dalej.
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue;
}
System.out.println("i = " + i);
}
}
}Co wypisało continue
Wynik to 1, 2, 4, 5. Wartość 3 została pominięta, ale pętla nadal działała.
To najważniejsza różnica: break opuszcza pętlę, natomiast continue pomija tylko jeden obieg.
Pomijanie liczb parzystych
Częstym zastosowaniem continue jest filtrowanie. Pomijane są wartości, które nie są potrzebne.
Ta pętla wypisuje tylko liczby nieparzyste, wykonując continue za każdym razem, gdy liczba jest parzysta.
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 8; i++) {
if (i % 2 == 0) {
continue;
}
System.out.println(i);
}
}
}break w pętli while
break i continue działają w każdym rodzaju pętli: for, while i do-while.
Ta pętla while zwiększa wartość, ale kończy się natychmiast, gdy suma przekroczy 10.
public class Main {
public static void main(String[] args) {
int total = 0;
int n = 1;
while (true) {
total += n;
if (total > 10) {
break;
}
n++;
}
System.out.println("Stopped at total = " + total);
}
}break opuszcza tylko jedną pętlę
Ważna zasada: zwykłe break opuszcza tylko wewnętrzną pętlę, która bezpośrednio je otacza.
Jeśli jedna pętla znajduje się wewnątrz drugiej, break opuszcza pętlę wewnętrzną. Pętla zewnętrzna nadal działa.
Należy uważnie przeanalizować ten zagnieżdżony przykład.
public class Main {
public static void main(String[] args) {
for (int row = 1; row <= 3; row++) {
for (int col = 1; col <= 3; col++) {
if (col == 2) {
break;
}
System.out.println("row " + row + ", col " + col);
}
}
}
}Wynik zagnieżdżonego break
break zatrzymało tylko wewnętrzną pętlę kolumn, więc w każdym wierszu wypisano wyłącznie col 1.
Zewnętrzna pętla wierszy kontynuowała działanie dla wszystkich trzech wierszy.
Aby jednocześnie opuścić obie pętle, potrzebne jest break z etykietą, które zostanie omówione w następnej lekcji.
continue także dotyczy najbliższej pętli
Podobnie jak break, zwykłe continue wpływa tylko na pętlę, która bezpośrednio je otacza.
W zagnieżdżonych pętlach continue przechodzi do następnej iteracji pętli wewnętrznej, a nie zewnętrznej.
Należy o tym pamiętać, gdy logika obejmuje dwie pętle.
public class Main {
public static void main(String[] args) {
for (int a = 1; a <= 2; a++) {
for (int b = 1; b <= 3; b++) {
if (b == 2) {
continue;
}
System.out.println(a + "-" + b);
}
}
}
}Prosty model mentalny
Wyobraźmy sobie pętlę jako tor, po którym wykonuje się kolejne okrążenia.
break = opuszczenie toru i odejście. continue = przejście do linii startu przed następnym okrążeniem.
Obie instrukcje działają tylko na torze, na którym aktualnie się znajdujemy, nigdy na torze zewnętrznym.
Szybkie sprawdzenie
Sprawdźmy, czy rozumieją Państwo różnicę między break a continue.
Podsumowanie
Dowiedzieli się Państwo, że break opuszcza najbliższą pętlę, a continue przechodzi do jej następnej iteracji.
W zagnieżdżonych pętlach obie instrukcje wpływają tylko na pętlę wewnętrzną. Aby sterować pętlą zewnętrzną, potrzebne są etykiety, które zostaną omówione dalej.
Często zadawane pytania
Czy lekcja „break i continue” jest bezpłatna?
Tak — pełny tekst „break i continue” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Java Academy, przejdź na CoddyKit PRO. Kurs Java Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „break i continue”?
Pomijanie i kończenie iteracji Ćwiczysz Java Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Java Academy?
Nie wymagamy żadnego doświadczenia. Java Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „break i continue”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Java Academy?
Tak. Każda lekcja Java Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.