Aanbevolen, 2021

Editor'S Choice

Verschil tussen pauze en doorgaan

Zowel 'breken' als 'doorgaan' zijn de 'sprong'-instructies, die de controle over het programma overdragen naar een ander deel van het programma. C ++ ondersteunt vier jump-statements, namelijk 'return', 'goto', 'break' en 'continue'. Java ondersteunt drie jump-statements 'break' 'continue' en 'return'. Het belangrijkste verschil tussen breken en doorgaan is dat de onderbreking wordt gebruikt voor onmiddellijke beëindiging van de lus, terwijl de huidige iteratie wordt voortgezet en de besturing wordt hervat naar de volgende iteratie van de lus. Laten we het verschil tussen onderbreking en doorgaan bestuderen in de context van C ++ en Java.

Vergelijkingstabel:

Basis voor vergelijkingbrekendoorgaan met
Taak
Het beëindigt de uitvoering van de resterende iteratie van de lus.Het beëindigt alleen de huidige iteratie van de lus.
Controle na pauze / doorgaan'pauze' hervat de controle van het programma tot het einde van de lus die die 'pauze' omsluit.'Continue' hervat de besturing van het programma naar de volgende iteratie van die lus die 'Doorgaan' bevat.
OorzakenHet veroorzaakt een vroegtijdige beëindiging van de lus.Het veroorzaakt vroege uitvoering van de volgende iteratie.
Voortzetting'pauze' stopt het voortzetten van de lus.'Continue' stopt het voortzetten van de lus niet, het stopt alleen de huidige iteratie.
Andere gebruiken'pauze' kan worden gebruikt met 'switch', 'label'.'doorgaan' kan niet worden uitgevoerd met 'switch' en 'labels'.

Definitie van Break

In C ++ heeft pauze slechts twee mogelijkheden, dwz het wordt eerst gebruikt om "de uitvoering van een zaak in switch-instructie te beëindigen". Ten tweede om "de lus te beëindigen en de besturing naar de volgende instructie na de lus te hervatten". Maar in Java heeft break eerst drie toepassingen, het beëindigt de case in de switch, ten tweede beëindigt het de lus insluitende break en ten derde, zoals eerder vermeld, dat Java geen 'goto'-statement geeft, maar kan de extended form break worden gebruikt in plaats van 'goto'.

Laten we elk gebruik van 'pauze' in detail bekijken.

Eerste gebruik om de uitvoering van case in switch te beëindigen. De inschakelschakelaar heeft alleen invloed op die schakelaar die deze omsluit, deze heeft geen invloed op de lus die de schakelaar omsluit.

 // In de context van C ++. // met behulp van break in switch in de context van C ++. switch (integerexpressie) {case 1: ..... ..... break; geval 2: ..... ..... pauze; geval 3: ..... ..... pauze; standaard: ....... ....... } 

Tweede gebruik, om de lus geforceerd te beëindigen en te hervatten bij de volgende afronding van de lus. Zodra de break-instructie binnen de lus wordt aangetroffen, wordt die lus onmiddellijk beëindigd zonder de resterende code in de hoofdtekst van die lus uit te voeren en bereikt de programmacontrole de volgende instructie die na die lus is geschreven.

 // break gebruiken om de lus in de context naar de Java-klasse te sluiten main_class {public static void main (string args []) {for (int i = 0; i <100; i ++) {system.out.println ("i:" + i); if (i == 10) te breken; // als de voorwaarde binnen 'if' satistfies controle uit 'voor' loop komt. } system.out.println ("Loop breaks here"); }} 

alleen breken laat het programma de lus verlaten die het omsluit. Als de breuk wordt gebruikt met geneste lus, breekt het alleen de binnenste lus uit en heeft dit geen invloed op de buitenste lus.

Het derde gebruik, met behulp van de pauze als de vorm van goto. Java gebruikt break als vorm van goto zonder zijn probleem. Omdat Goto een ongestructureerde vertakking biedt die moeilijk te begrijpen is en ook verbiedt om compiler-optimalisatie te verbieden, gebruikt Java een uitgebreide vorm van pauze die vergelijkbaar is als goto en helpt om meer dan één blok tegelijk te verlaten en de controle over het programma te hervatten. einde van gelabeld blok, vermeld met de break-instructie.

Verklaring:

 breek label; 

Hier is 'label' de naam van een bepaald blok code of een ID in Java en dit gelabelde blok moet de break-instructie omsluiten. De label break statement wordt gebruikt om de set van geneste lus te verlaten. Naarmate het label break statement wordt aangetroffen, verlaat het besturingselement het gelabelde blok dat wordt vermeld met de break-instructie.
Laten we het praktisch bekijken.

 // break gebruiken als vorm van goto in context naar Java-klasse main_class {public static void main (string args []) {boolean t = true; eerste {tweede {derde {system.out.println ("dit derde blok"); als (t) eerst breekt; } system.out.println ("dit tweede blok"); } system.out.println ("dit eerste blok"); } system.out.println ("dit hoofdblok"); }} // output: dit is derde blok dit is het hoofdblok 

In deze code, als het besturingselement het derde blok bereikt, wordt de printinstructie ervan uitgevoerd en daarna wordt het besturingselement hervat naar de 'if'-instructie en als het is voldaan, wordt de break-instructie met het label uitgevoerd. Label gekoppeld met pauze is de eerste, dus de controle wordt hervat met de instructie geschreven na het einde van het blok, dat wil zeggen, in het hoofdblok, wat een afdrukverklaring is en die wordt uitgevoerd.

Definitie van Doorgaan

Als de reeks de resterende iteratie van de lus beëindigt en het besturingselement de lus verlaat, werkt het werk enigszins als een pauze. De instructie continue houdt de uitvoering van de resterende code in de lus voor die huidige iteratie tegen en hervat de controle naar de volgende iteratie van die lus. De instructie continue slaat de code voor de huidige iteratie over en geeft de besturing door aan de volgende iteratie van de lus.

Laten we het begrijpen met een voorbeeld.

 // using ga verder in context naar C ++. // het drukt het even getal af tot 100. class main_class {public static void main (string args []) {for (int i = 0; i <100; i ++) {if (i% 2! = 0) continue; / / ga verder met het besturingselement naar de volgende iteratie in voor loop system.out.println ("i:" + i); }}} 

Als in het bovenstaande programma aan de instructie 'als' is voldaan, wordt de instructie 'continue' uitgevoerd, waardoor de volgende afdrukinstructie niet kan worden uitgevoerd en de besturing niet verder kan gaan naar de volgende iteratie van de lus 'voor'. Als i = 1, is aan de voorwaarde 'als' voldaan en wordt verdergegaan, zonder de afdrukopdracht uit te voeren voor de oneven waarde van 'i' en gaat de besturing terug naar de volgende iteratie van de lus 'voor i = 2'. Als i = 2 dan is de 'if'-verklaring niet vervuld, vandaar; Doorgaan wordt niet uitgevoerd en Afdrukinstructie drukt de waarde van 'i' af die even is.

Belangrijkste verschillen tussen Break en Continue

  1. Kortom, break sleutelwoord beëindigt de rest van de resterende iteraties van de lus. Aan de andere kant beëindigt het continue sleutelwoord alleen de huidige iteratie van de lus.
  2. Zodra het onderbrekingsleutelwoord wordt uitgevoerd, wordt de besturing van het programma de lus verlaten en wordt de volgende instructie na de lus hervat. In het geval van verder zoekwoord, gaat de besturing van het programma verder naar de volgende iteratie van de lus.
  3. Zoals de bovenstaande stap concludeert, is het duidelijk dat nadat de uitvoering van de onderbrekingscontrole van het programma uit de lus is geëindigd, onderbreking een vroege beëindiging van een lus veroorzaakt. Aan de andere kant, ga alleen verder met het beëindigen van de huidige iteratie en doorgaan naar de volgende iteratie van de lus dan kunnen we zeggen dat doorgaan de vroege uitvoering van de volgende iteratie van de lus veroorzaakt.
  4. Het break-sleutelwoord beëindigt alle resterende iteratie na de uitvoering, zodat we kunnen zeggen dat het de voortzetting van de lus stopt, terwijl het vervolg-trefwoord de lusuitvoering nog steeds voortzet.
  5. Het break-sleutelwoord kan samen met de "switch" -instructies worden gebruikt, evenals "label", terwijl het vervolg-sleutelwoord niet kan worden gebruikt met "switch" en "label".

Conclusie:

De break en continue-instructie zijn beide de jump-instructie die de besturing overdraagt ​​naar een ander deel van het programma. Waar de instructie break de controle de lus laat verlaten, laat de instructie continue de controle naar de volgende iteratie van die lus.

Top