Ieteicams, 2020

Redaktora Izvēle

Starpība starp pārtraukumu un turpināt

Gan "pārtraukums", gan "turpināt" ir "lēkt" paziņojumi, kas nodod programmas kontroli citai programmas daļai. C + + atbalsta četrus izlēkšanas paziņojumus, proti, “atgriešanās”, “goto”, “pauze” un “turpināt”. Java atbalsta trīs lēcienu paziņojumus "pārtraukums" "turpināt" un "atgriezties". Galvenā atšķirība starp pārtraukumu un turpinājumu ir tā, ka pārtraukums tiek izmantots cilpas tūlītējai izbeigšanai, bet, turpiniet pārtraukt pašreizējo iterāciju un atsāk vadību uz nākamo cilpas iterāciju. Pētīsim atšķirību starp pārtraukumu un turpināsim C + + un Java kontekstā.

Salīdzināšanas diagramma:

Salīdzinājuma pamatspārtraukumsTurpināt
Uzdevums
Tas pārtrauc atlikušās cilpas iterācijas izpildi.Tā izbeidz tikai cilpas pašreizējo atkārtojumu.
Kontrole pēc pārtraukuma / turpināšanas“pārtraukums” atsāk programmas vadību līdz cilpas beigām, kas ietver šo „pārtraukumu”.“turpināt” atsāk programmas vadību līdz nākamajai šīs cilpas iterācijai, kas ietver “turpināt”.
CēloņiTas izraisa ātru cilpas pārtraukšanu.Tas izraisa nākamās atkārtošanās agrīnu izpildi.
Turpinājums“pārtraukums” aptur cilpa turpināšanu."turpināt" neaptur cilpas turpināšanu, tas tikai aptur pašreizējo iterāciju.
Citi izmantošanas veidi"pārtraukums" var tikt izmantots ar "slēdzi", "etiķeti"."turpināt" nevar izpildīt ar "slēdzi" un "etiķetēm".

Pārrāvuma definīcija

C + + pārtraukumā ir tikai divi lietojumi, ti, vispirms to lieto, lai “izbeigtu lietas izpildi komutācijas paziņojumā”. Otrkārt, “izbeigt cilpu un atsākt kontroli uz nākamo paziņojumu pēc cilpa”. Bet Java pārtraukumā vispirms ir trīs lietojumi, tas pārtrauc slēdzi, otrkārt, lai pārtrauktu cilpas ieslēgšanas pārtraukumu, un, treškārt, kā minēts iepriekš, Java nesniedz "goto" paziņojumu, bet paplašinātās formas pārtraukumu var izmantot “goto” vieta.

Ļaujiet mums redzēt, katrs izmantot "pārtraukums" detalizēti.

Pirmā lietošana, lai izbeigtu gadījuma izpildi slēdzī. Pārslēgšanas slēdzis ietekmē tikai to slēdzi, kas to ieslēdz, tas neietekmē slēdzi, kas ietver slēdzi.

 // C ++ kontekstā. // izmantojot pārtraukumu slēdzi C ++ kontekstā. slēdzis (vesels skaitlis) {gadījums 1: ..... ..... pārtraukums; 2. gadījums: ..... ..... pārtraukums; 3. gadījums: ..... ..... pārtraukums; noklusējums: ....... .......} 

Otrais lietojums, lai piespiedu kārtā pārtrauktu cilpu un atsāktu nākamo cilpa paziņojumu. Tiklīdz pārtraukuma paziņojums ir sastopams cilpas iekšienē, šī cilpa tiek nekavējoties pārtraukta, neizpildot atlikušo kodu šīs cilpas korpusā, un programmas vadība sasniedz nākamo paziņojumu, kas rakstīts pēc šīs cilpas.

 // izmantojot pārtraukumu, lai izietu no cilpas kontekstā ar Java klases main_class {public static void main (string args []) {for (int i = 0; i <100; i ++) {system.out.println ("i:" + i); ja (i == 10) pārtraukums; // kā nosacījums iekšpusē “ja” satistfies kontrole nāk no “for” cilpas. } system.out.println ("Loop pārtraukumi šeit"); }} 

pauze tikai ļaujiet programmai iziet no cilpas, kas to aptver. Ja pārtraukums tiek izmantots ar ligzdotu cilpu, tas izjauc tikai visdziļāko cilpu un neietekmē ārējo cilpu.

Trešais lietojums, izmantojot pārtraukumu kā goto formu. Java izmanto pārtraukumu kā goto formu bez tās problēmas. Tā kā goto nodrošina nestrukturētu sazarošanu, kas ir grūti saprotama un arī aizliedz kompilatora optimizāciju, Java izmanto paplašinātu pārtraukuma formu, kas ir līdzīga kā goto, un palīdz vienlaicīgi iziet no vairākiem blokiem un atsākt programmas kontroli uz iezīmētā bloka beigas, kas minēts ar pārtraukuma paziņojumu.

Deklarācija:

 pārtraukuma marķējums; 

Šeit "etiķete" ir noteikta koda vai identifikatora nosaukums Java, un šim apzīmētajam blokam jāpievieno pārtraukuma paziņojums. Atzīmēto pārtraukuma paziņojumu izmanto, lai izietu no ligzdotās cilpas kopas. Tā kā ir konstatēts marķējuma pārtraukuma paziņojums, vadība iziet no iezīmētā bloka, kas minēts ar pārtraukuma paziņojumu.
Redzēsim to praktiski.

 // izmantojot pārtraukumu kā goto formu kontekstā ar Java klases main_class {public static void main (string args []) {boolean t = true; vispirms {second {third {system.out.println ("šis trešais bloks"); ja (t) pirmais pārtraukums; } system.out.println ("šis otrais bloks"); } system.out.println ("šis pirmais bloks"); } system.out.println ("šis galvenais bloks"); }} // produkcija: tas ir trešais bloks, kas ir galvenais bloks 

Šajā kodā, kad kontrole sasniedz trešo bloku, tā izdrukas izraksts tiek izpildīts un pēc tam kontrole atsāk "ja" paziņojumu, un, tā kā tas ir izpildīts, tiek izpildīts pārtraukuma paziņojums ar etiķeti. Pirmais ir ar etiķeti pievienots apzīmējums, tāpēc kontrole tiek atjaunota uz paziņojumu, kas rakstīts pēc bloka pirmās, ti, galvenajā blokā, kas ir drukas paziņojums un kas tiek izpildīts.

Turpināt

Tā kā pārtraukums izbeidz atlikušo cilpas iterāciju un ļauj kontrolierim iziet no cilpas, šeit, turpiniet darbu nedaudz strādāt kā pārtraukums. Turpinātais paziņojums aptur atlikušā koda izpildi šajā pašreizējā atkārtojumā un atsāk kontroli uz nākamo šīs cilpas iterāciju. Turpinājums paziņojums izlaiž pašreizējās iterācijas kodu un nodod vadību nākamajai cilpas iterācijai.

Sapratīsim to ar piemēru.

 // izmantojot turpināt kontekstā ar C + +. // tā izdrukā līdz pat skaitli līdz 100. klase main_class {publiskā statiskā tukšuma galvenā (virkne args []) {par (int i = 0; i <100; i ++) {ja (i% 2! = 0) turpinās; / / turpināt atsākt kontroli uz nākamo atkārtojumu cilpas sistēmai.out.println ("i:" + i); }}} 

Iepriekš minētajā programmā, ja "ja" paziņojums ir izpildīts, turpiniet izpildīt paziņojumu, kas neļauj izpildīt šādu drukas paziņojumu un atsākt kontroli uz nākamo "par" cilpu. Ja i = 1, tad "ja" nosacījums ir izpildīts un turpinās, izpildot drukas paziņojumu par nepāra vērtību "i", un kontrole atsāk nākamo cilpas iterāciju "attiecībā uz i = 2". Ja i = 2, tad “ja” paziņojums nav izpildīts; turpināt neizpilda un izdrukā paziņojumu izdrukā 'i' vērtību, kas ir pat.

Galvenās atšķirības starp pārtraukumu un turpinājumu

  1. Būtībā pārtraukuma atslēgvārds pārtrauc atlikušo cilpa atkārtošanos. No otras puses, atslēgvārds turpina atslēgt tikai pašreizējo cilpas iterāciju.
  2. Kad atslēgas atslēgvārds tiek izpildīts, programmas izeja no cilpas tiek izbeigta un pēc cilpas atsāk nākamo paziņojumu. Turpinot atslēgvārdu, programmas vadība tiek atsākta līdz nākamajai cilpas atkārtošanai.
  3. Kā minēts iepriekš, secināts, ka pēc programmas izejas pārtraukuma izpildes no cilpas skaidri saprotams, ka pārtraukums izraisa jebkuras cilpas priekšlaicīgu pārtraukšanu. No otras puses, turpiniet tikai izbeigt pašreizējo iterāciju un atsākt nākamo cilpas atkārtojumu, tad mēs varam teikt, ka turpinājums izraisa nākamās cilpas atkārtošanas agrīnu izpildi.
  4. Atslēgas atslēgvārds pārtrauc visu atlikušo atkārtojumu pēc tā izpildes, lai mēs varētu teikt, ka tas aptur cilpas turpinājumu, bet turpinājums atslēgvārds joprojām turpina cilpa izpildi.
  5. Atslēgu atslēgvārdu var izmantot kopā ar paziņojumiem par "slēdzi", kā arī "etiķeti", bet turpināt atslēgvārdu nevar izmantot ar "slēdzi" un "etiķeti".

Secinājums:

Pārtraukuma un turpinājuma paziņojums ir lēciena paziņojums, kas nodod vadību citai programmas daļai. Ja pārtraukuma paziņojums ļauj kontrolierim iziet no cilpas, turpināt paziņojumu ļauj kontrolēt nākamo šīs cilpas atkārtojumu.

Top