
Wykres porównania:
Podstawa do porównania | złamać | dalej |
---|---|---|
Zadanie | Przerywa wykonywanie pozostałej iteracji pętli. | Zamyka tylko bieżącą iterację pętli. |
Kontrola po przerwie / kontynuuj | "break" wznawia kontrolę nad programem do końca pętli zamykając ten "break". | "kontynuuj" wznawia kontrolę nad programem do kolejnej iteracji pętli zamykającej "kontynuuj". |
Przyczyny | Powoduje wcześniejsze zakończenie pętli. | Powoduje wczesne wykonanie kolejnej iteracji. |
Kontynuacja | "break" zatrzymuje kontynuację pętli. | "kontynuuj" nie przerywa kontynuacji pętli, zatrzymuje jedynie bieżącą iterację. |
Inne zastosowania | "break" może być użyty z "switch", "label". | "Kontynuacja" nie może być wykonana za pomocą "przełącznika" i "etykiet". |
Definicja Break
W C ++ break ma tylko dwa zastosowania, tj. Najpierw służy do "zakończenia wykonywania sprawy w instrukcji switch". Po drugie, aby "zakończyć pętlę i wznowić kontrolę do następnej instrukcji następującej po pętli". Ale w Java break najpierw ma trzy zastosowania, kończy przypadek w przełączniku, drugi kończy przerwanie zamykające pętlę i trzeci, jak wspomniano wcześniej, że Java nie dostarcza instrukcji "goto", ale rozszerzone łamanie formularzy może być używane w miejsce "goto".

Zobaczmy, każde użycie "przerwy" w szczegółach.
Pierwsze użycie do zakończenia wykonywania sprawy w przełączniku. Przełącznik włamania wpływa tylko na ten przełącznik, który go otacza, nie ma wpływu na pętlę zamykającą przełącznik.
// W kontekście C ++. // użycie break-switch w kontekście C ++. switch (wyrażenie całkowite) {case 1: ..... ..... break; przypadek 2: ..... ..... przerwa; przypadek 3: ..... ..... przerwa; domyślna: ....... ....... }
Drugie użycie, aby wymusić zakończenie pętli i wznowić ją w następnej instrukcji pętli. Gdy tylko wewnątrz pętli napotkana zostanie instrukcja break, pętla ta zostaje natychmiast zakończona bez wykonywania pozostałego kodu w ciele tej pętli, a sterowanie programu osiągnie kolejną instrukcję wypisaną po tej pętli.
// używając break, aby wyjść z pętli w kontekście klasy Java main_class {public static void main (string args []) {for (int i = 0; i <100; i ++) {system.out.println ("i:" + i); jeśli (i == 10) przerwa; // ponieważ warunek wewnątrz atrybutu "if" satistfies pochodzi z pętli "for". } system.out.println ("Loop tu pęka"); }}
break tylko niech program wyjdzie z pętli, która go otacza. Jeśli przerwa jest używana z zagnieżdżoną pętlą, wyłamuje tylko najbardziej wewnętrzną pętlę i nie wpływa na zewnętrzną pętlę.
Trzecie użycie, użycie przerwy jako formy goto. Java używa break jako formy goto bez problemu. Ponieważ goto zapewnia nieustrukturyzowane rozgałęzienia, które jest trudne do zrozumienia, a także blokuje optymalizację kompilatora, Java używa rozszerzonej formy przerwy, która jest podobna do goto i pomaga wyjść z więcej niż jednego bloku na raz i wznowić kontrolę nad programem koniec oznaczonego bloku, o którym mowa w instrukcji break.
Deklaracja:
etykieta przerwania;
Tutaj "etykieta" to nazwa określonego bloku kodu lub identyfikatora w Javie, a ten oznaczony blok musi zawierać instrukcję break. Instrukcja z etykietą break używana jest do wyjścia z zestawu zagnieżdżonej pętli. Gdy napotkana jest instrukcja z etykietą break, sterowanie kończy znakowany blok, który jest wymieniony wraz z instrukcją break.
Zobaczmy to praktycznie.
// użycie break jako formy goto w kontekście klasy Java main_class {public static void main (string args []) {boolean t = true; first {second {third {system.out.println ("ten trzeci blok"); jeśli (t) złamie się pierwszy; } system.out.println ("ten drugi blok"); } system.out.println ("ten pierwszy blok"); } system.out.println ("ten główny blok"); }} // output: to jest trzeci blok, to jest główny blok
W tym kodzie, gdy formant osiągnie trzeci blok, jego instrukcja drukowania zostanie wykonana, a następnie wznowienie kontroli do instrukcji "if", i gdy jest spełnione, wykonywana jest instrukcja break z etykietą. Etykieta dołączona z przerwą jest pierwsza, więc kontrola wznawia się do instrukcji napisanej po końcu bloku, tj. W głównym bloku, który jest instrukcją drukowania i która zostaje wykonana.
Definicja Kontynuuj
Gdy break przerwie pozostałą iterację pętli i pozwoli kontroli wyjść z pętli, tutaj kontynuacja działa w pewnym sensie jak przerwa. Instrukcja continue zatrzymuje wykonywanie pozostałego kodu w pętli dla tej bieżącej iteracji i wznawia kontrolę do następnej iteracji tej pętli. Instrukcja continue pomija kod dla bieżącej iteracji i przekazuje sterowanie do następnej iteracji pętli.

Rozumiem to na przykładzie.
// używanie kontynuacji w kontekście do C ++. // wypisuje liczbę parzystą do 100. class main_class {public static void main (string args []) {for (int i = 0; i <100; i ++) {if (i% 2! = 0) continue; // kontynuuj wznowienie kontroli do następnej iteracji w pętli for system.out.println ("i:" + i); }}}
W powyższym programie, jeśli instrukcja "if" jest spełniona, wówczas wykonywana jest instrukcja continue, która nie pozwala na wykonanie poniższej instrukcji print i wznowienie sterowania do następnej iteracji pętli for. Jeśli i = 1, warunek "if" jest spełniony i kontynuowany jest wykonywany, bez wykonywania instrukcji print dla nieparzystej wartości "i", a sterowanie wznawia się do następnej iteracji pętli "dla i = 2". Jeśli i = 2, wówczas wyrażenie "jeśli" nie jest spełnione; continue nie działa, a instrukcja print wypisuje wartość "i", która jest parzysta.
Kluczowe różnice między przerwą i kontynuacją
- Zasadniczo, słowo "break" kończy działanie pozostałych pozostałych iteracji pętli. Z drugiej strony, ciągłe słowo kluczowe kończy tylko bieżącą iterację pętli.
- Po wykonaniu słowa kluczowego break kontrola wyjścia programu wychodzi z pętli i wznawia się do następnej instrukcji po pętli. W przypadku kontynuacji słowa kluczowego kontrola programu zostanie wznowiona do następnej iteracji pętli.
- Jak powyżej krok kończy się stwierdzeniem, że po wykonaniu kontroli przerwania programu wyjście z pętli jest zrozumiałe, że przerwanie powoduje wcześniejsze zakończenie dowolnej pętli. Z drugiej strony, kontynuuj tylko zakończenie bieżącej iteracji i wznów do następnej iteracji pętli, następnie możemy powiedzieć, że continue powoduje wczesne wykonanie kolejnej iteracji pętli.
- Słowo kluczowe break przerywa całą pozostałą iterację po wykonaniu, więc możemy powiedzieć, że zatrzymuje ona kontynuację pętli, podczas gdy słowo continue nadal kontynuuje wykonywanie pętli.
- Słowo kluczowe break może być używane wraz z instrukcjami "switch", jak również "label", podczas gdy słowo kluczowe continue nie może być używane z "switch" i "label".
Wniosek:
Instrukcja break i continue to instrukcja skoku, która przekazuje sterowanie do innej części programu. Gdzie instrukcja break pozwala kontrolce wyjść z pętli, instrukcja continue przekazuje sterowanie do następnej iteracji tej pętli.