Tabela za primerjavo:
Podlaga za primerjavo | odmor | nadaljevati |
---|---|---|
Naloga | Konča izvedbo preostale ponovitve zanke. | Konča samo trenutno iteracijo zanke. |
Nadzor po premoru / nadaljevanju | 'break' nadaljuje nadzor nad programom do konca zanke, ki obdaja 'break'. | 'continue' nadaljuje nadzor nad programom na naslednjo ponovitev zanke, ki zajema 'continue'. |
Vzroki | Povzroča zgodnjo prekinitev zanke. | Povzroča zgodnjo izvedbo naslednje iteracije. |
Nadaljevanje | 'break' ustavi nadaljevanje zanke. | 'continue' ne ustavi nadaljevanja zanke, ustavi samo trenutno iteracijo. |
Druge uporabe | 'break' se lahko uporablja z 'switch', 'label'. | »Nadaljuj« ni mogoče izvesti z »stikali« in »oznakami«. |
Opredelitev prekinitve
V C ++ break ima samo dve uporabi, tj. Najprej se uporablja za "zaključek izvedbe primera v stavek". Drugič, da “zaključite zanko in nadaljujete nadzor nad naslednjo izjavo, ki sledi zanki”. Toda v prelomu Java so najprej uporabili tri načine, končali pa so primer v stikalu, drugi, da bi prekinili zanko in tretji, kot je bilo omenjeno že prej, da Java ne nudi izraza "goto", vendar pa se lahko podaljšani odmor obrazca uporabi v kraj „goto“.
Poglejmo, vsaka uporaba "break" podrobno.
Najprej uporabite za prekinitev izvedbe primera v stikalu. Prekinitev stikala vpliva le na to stikalo, ki ga obdaja, ne vpliva na zanko, ki obkroža stikalo.
// V kontekstu za C ++. // z uporabo preloma v kontekstu C ++. stikalo (celoštevilski izraz) {primer 1: ..... ..... odmor; primer 2: ..... ..... odmor; primer 3: ..... ..... odmor; privzeto: ....... .......}
Druga uporaba, za prisilno prekinitev zanke in nadaljevanje pri naslednji izjavi zanke. Takoj ko se v zanki pojavi prekinitvena izjava, se ta zanka takoj prekine brez izvajanja preostale kode v telesu te zanke in programski krmilnik doseže naslednji stavek, napisan po tej zanki.
// z uporabo break za izhod iz zanke v kontekstu Java razreda main_class {public static void main (string args []) {for (int i = 0; i <100; i ++) {system.out.println ("i:") + i); če (i == 10) prekinemo; // kot pogoj v 'if' satistfies nadzor pride ven iz 'for' zanke. } system.out.println ("Loop breaks tukaj"); }}
Prekini samo, da program zapusti zanko, ki jo obkroža. Če je prekinitev uporabljena z ugnezdeno zanko, izbruhne samo najgloblje zanke in ne vpliva na zunanjo zanko.
Tretja uporaba, z uporabo odmora kot oblika goto. Java uporablja break kot obliko goto brez svojega problema. Ker goto ponuja nestrukturirano razvejanje, ki ga je težko razumeti, pa tudi goto prepoveduje optimizacijo prevajalnikov, Java uporablja razširjeno obliko prekinitve, ki je podobna goto in pomaga zapustiti več kot en blok naenkrat in ponovno vzpostaviti nadzor nad programom. konec označenega bloka, naveden s prekinitveno izjavo.
Izjava:
lomna oznaka;
Tukaj je »oznaka« ime določenega bloka kode ali identifikatorja v Javi, ta označeni blok pa mora vsebovati prekinitveno izjavo. Označena prekinitvena izjava se uporablja za izhod iz niza ugnezdene zanke. Ko naletimo na označeno prekinitveno izjavo, kontrolnik zapusti označeni blok, ki je naveden s prekinitveno stavko.
Poglejmo to praktično.
// z uporabo break v obliki goto v kontekstu Java razreda main_class {public static void main (string args []) {boolean t = true; prvi {drugi {tretji {system.out.println ("ta tretji blok"); če (t) prekinemo prvo; } system.out.println ("ta drugi blok"); } system.out.println ("ta prvi blok"); } system.out.println ("ta glavni blok"); }} // izhod: to je tretji blok, to je glavni blok
V tej kodi, ko kontrolnik doseže tretji blok, se izvede njegov tiskalni stavek in po tem se nadzor nadaljuje v stavek 'if' in ko je izpolnjen, se izvrši stavek break z oznako. Oznaka, ki je priložena prekinitvi, je prva, tako da se nadzor nadaljuje v izjavo, napisano po koncu bloka, tj.
Opredelitev nadaljevanja
Ker prekinitev konča preostalo ponovitev zanke in omogoča, da nadzor konča z zanko, tukaj dela nadaljujejo delo kot prelom. Izjava za nadaljevanje ustavi izvajanje preostale kode v zanki za to trenutno iteracijo in nadaljuje krmiljenje z naslednjo iteracijo zanke. Stavek nadaljuje preskoči kodo za trenutno iteracijo in prenese nadzor na naslednjo iteracijo zanke.
Razumimo ga z zgledom.
// uporaba nadaljevanja v kontekstu za C ++. // natisne sodo število do 100. class main_class {javna statična void main (string args []) {for (int i = 0; i <100; i ++) {če (i% 2! = 0) nadaljujemo; // nadaljujemo nadzor nad naslednjo iteracijo v zanki system.out.println ("i:" + i); }}}
V zgornjem programu, če je izjava 'if' izpolnjena, se nadaljuje z izvajanjem stavek, ki ne dovoljuje, da se naslednji tiskalni stavek izvede in nadaljuje krmiljenje z naslednjo iteracijo zanke 'for'. Če je i = 1, potem je pogoj »če« izpolnjen in se nadaljuje z izvajanjem, ne da bi izvedli izjavo o tiskanju za liho vrednost »i« in se nadzor nadaljuje na naslednjo ponovitev zanke »za i = 2«. Če je i = 2, potem izjava 'if' ni zadovoljena; Nadaljuj se ne izvrši in natisni izjavo natisne vrednost "i", ki je parna.
Ključne razlike med prekinitvijo in nadaljevanjem
- V bistvu ključna beseda break prekine preostale preostale iteracije zanke. Po drugi strani pa ključna beseda continue prekine samo trenutno iteracijo zanke.
- Ko je ključna beseda prekinitve izvedena, nadzor nad programom izstopi iz zanke in nadaljuje z naslednjim stavkom po zanki. V primeru ključne besede se nadaljuje nadzor nad programom do naslednje ponovitve zanke.
- Kot v zgornjem koraku sklepamo, da se po izvedbi prekinitvenega nadzora nad izhodom programa iz zanke jasno razume, da prekinitev povzroči predčasno prekinitev katere koli zanke. Po drugi strani pa nadaljujte samo s prekinitvijo trenutne iteracije in nadaljujte z naslednjo iteracijo zanke, potem lahko rečemo, da nadaljevanje povzroči zgodnjo izvedbo naslednje iteracije zanke.
- Ključna beseda break prekine vse preostale ponovitve po njeni izvedbi, tako da lahko rečemo, da se ustavi nadaljevanje zanke, medtem ko ključna beseda continue nadaljuje z izvajanjem zanke.
- Ključno besedo break lahko uporabite skupaj s stavkom »stikalo« in »oznako«, medtem ko ključna beseda za nadaljevanje ni mogoče uporabiti z »stikalo« in »oznako«.
Sklep:
Stavek za prekinitev in nadaljevanje sta skripta, ki prenese nadzor na drug del programa. Kadar je preklicna izjava dovolila krmilniku, da zapusti zanko, stavek naprej nadaljuje nadzor na naslednjo iteracijo te zanke.