Anbefalet, 2024

Redaktørens Valg

Forskel mellem pause og fortsæt

Både "break" og "continue" er "hoppe" udsagn, der overfører kontrol af programmet til en anden del af programmet. C ++ understøtter fire hoppesætninger, nemlig 'return', 'goto', 'break' og 'continue'. Java understøtter tre hoppesætninger 'break' 'continue' og 'return'. Hovedforskellen mellem pause og fortsættelse er, at pause er brugt til øjeblikkelig afslutning af sløjfen, mens du fortsætter med at afbryde den aktuelle iteration og genoptager kontrollen til den næste iteration af sløjfen. Lad os studere forskellen mellem pause og fortsætte i forbindelse med C ++ og Java.

Sammenligningstabel:

Grundlag for sammenligningpauseBlive ved
Opgave
Det afslutter udførelsen af ​​loopens resterende iteration.Det afslutter kun den aktuelle iteration af sløjfen.
Kontrol efter pause / fortsæt'pause' genoptager styringen af ​​programmet til slutningen af ​​sløjfen, der omslutter den 'pause'.'fortsæt' genoptager styringen af ​​programmet til næste iteration af den sløjfe, der omslutter 'fortsæt'.
ÅrsagerDet forårsager tidlig opsigelse af løkken.Det forårsager hurtig udførelse af den næste iteration.
Fortsættelse'pause' stopper forlængelsen af ​​sløjfen.'fortsæt' stopper ikke fortsættelsen af ​​sløjfen, det stopper kun den aktuelle iteration.
Andre anvendelser'break' kan bruges med 'switch', 'label'.'Fortsæt' kan ikke udføres med 'switch' og 'labels'.

Definition af Break

I C + + pause har kun to anvendelser, dvs. først er det brugt til at "afslutte udførelsen af ​​en sag i switch statement". For det andet at "afslutte sløjfen og genoptage kontrollen til den næste sætning efter sløjfen". Men i Java har pause tre anvendelser først, det afslutter sagen i omskifteren, for det andet at afslutte sløjfeet omslutningsbrud og tredje, som tidligere nævnt, at Java ikke giver en 'goto'-erklæring, men den udvidede formbrud kan bruges i sted for 'goto'.

Lad os se, hver brug af "break" i detaljer.

Første brug til at afslutte udførelsen af ​​sagen i omskifteren. Pause i omskifter påvirker kun den kontakt, der omslutter den, det påvirker ikke sløjfen, der omslutter kontakten.

 // I forbindelse med C ++. // ved hjælp af pause i switch i kontekst af C ++. switch (heltal udtryk) {case 1: ..... ..... break; sag 2: ..... ..... break; sag 3: ..... ..... break; Standard: ....... ....... } 

Anden brug, at tvinge sløjfen til at tvinge og genoptage ved næste sætning af sløjfen. Så snart som pauseoversigten er stødt inde i sløjfen, afsluttes denne sløjfe øjeblikkeligt uden at udføre den resterende kode i legemet af denne sløjfe, og programstyringen når til næste sætning skrevet efter den sløjfe.

 // ved hjælp af pause for at forlade sløjfen i kontekst til Java klasse main_class {public static void main (string args []) {for (int i = 0; i <100; i ++) {system.out.println ("i:" + i); hvis (i == 10) break; // som betingelsen inde 'hvis' satistfies kontrol kommer ud af 'for' loop. } system.out.println ("Loop breaks here"); }} 

pause kun lad programmet gå ud af sløjfen, som omslutter det. Hvis bruddet bruges med indlejret sløjfe, bryder den kun den inderste sløjfe og påvirker ikke den ydre sløjfe.

Den tredje anvendelse, ved hjælp af pause som form af goto. Java bruger pause som form for goto uden problem. Da goto giver en ustruktureret forgrening, som er svært at forstå og også goto forbyder compileroptimering, bruger Java en udvidet form for pause, der ligner goto og hjælper med at afslutte mere end en blok ad gangen og genoptage styringen af ​​programmet til ende af mærket blok, der er nævnt med pauseoversigten.

Erklæring:

 break label 

Her er "label" navnet på en bestemt blok kode eller en identifikator i Java, og denne mærkede blok skal vedlægge break statementet. Den mærkede pauseoversigt bruges til at gå ud af sættet med indlejret sløjfe. Da den mærkede pauseoversigt er stødt, udløber kontrollen den mærkede blok, som er nævnt med pauseoversigten.
Lad os se det praktisk taget.

 // ved hjælp af pause i form af goto i kontekst til Java klasse main_class {public static void main (string args []) {boolean t = true; første {sekund {tredje {system.out.println ("denne tredje blok"); hvis (t) brydes først } system.out.println ("denne anden blok"); } system.out.println ("denne første blok"); } system.out.println ("denne hovedblok"); }} // output: dette er tredje blok, dette er hovedblokken 

I denne kode, når kontrollen når den tredje blok, bliver dens udskrivningserklæring udført, og efterfølgende genoptages kontrollen til 'if'-sætningen, og som det er tilfredsstillende, udføres brudopstillingen med etiketten. Etiket vedhæftet med pause er først, så kontrol genoptages til erklæringen skrevet efter slutningen af ​​blokken først, dvs. i hovedblokken, som er en udskrivningserklæring, og som udføres.

Definition af Fortsæt

Da pause afslutter den resterende iteration af sløjfen og lader kontrollen gå ud af sløjfen, fortsætter arbejdet noget som en pause. Fortsættelseserklæringen stopper udførelsen af ​​den resterende kode i sløjfen for den aktuelle iteration og genoptager kontrollen til den næste iteration af den sløjfe. Fortsæt-sætningen springer koden for den aktuelle iteration og sender kontrollen til den næste iteration af sløjfen.

Lad os forstå det med et eksempel.

 // ved at fortsætte i kontekst til C ++. // det udskriver det lige antal til 100. klasse main_class {public static void main (string args []) {for (int i = 0; i <100; i ++) {hvis (i% 2! = 0) fortsæt; // Fortsæt genoptage kontrollen til den næste iteration i for loop system.out.println ("i:" + i); }}} 

I ovennævnte program, hvis 'if'-erklæringen er opfyldt, skal du fortsætte med udsagnsudførelsen, som ikke tillader følgende udskrivningserklæring at udføre og genoptage kontrollen til næste iteration af' for'-loop'en. Hvis jeg = 1 så er 'if'-betingelsen opfyldt, og fortsæt udføres, uden at udføre udskrivningsopgørelsen for den ulige værdi af' i ', og kontrollen genoptages til næste iteration af sløjfen' for i = 2 '. Hvis jeg = 2 så er 'if' -opgørelsen ikke tilfreds fortsæt udfører ikke og udskrivningserklæringen udskriver værdien af ​​'i', som er jævn.

Nøgleforskelle mellem Break og Fortsæt

  1. I bund og grund bryder søgeordet resten af ​​de resterende iterationer af sløjfen. På den anden side afslutter det fortsatte søgeord kun den aktuelle iteration af sløjfen.
  2. Når pauseordet udføres, afbrydes kontrollen af ​​programmet ud af sløjfen og genoptages til næste sætning efter sløjfen. I tilfælde af fortsættelse af søgeordet genoptages kontrollen af ​​programmet til den næste iteration af sløjfen.
  3. Som det fremgår af ovenstående trin konkluderes det, at efter udførelsen af ​​pause kontrol af programmet ud af loopen er det klart forstået, at pause forårsager tidlig opsigelse af en sløjfe. På den anden side fortsætter du kun med at afslutte den aktuelle iteration og genoptage til næste iteration af sløjfen, så vi kan sige, at det fortsætter med at udføre den tidlige udførelse af den næste iteration af sløjfen.
  4. Pauseordet afslutter al den resterende iteration efter dens udførelse, så vi kan sige, at det stopper fortsættelsen af ​​sløjfen, mens fortsættelsen af ​​søgeordet stadig fortsætter loop-udførelsen.
  5. Pauseordet kan bruges sammen med "switch" sætningerne såvel som "label", mens fortsæt søgeord ikke kan bruges med "switch" og "label".

Konklusion:

Pause- og fortsættelseserklæringen er begge hoppedata, der overfører kontrollen til en anden del af programmet. Hvor brudopgørelsen lader kontrollen gå ud af sløjfen, lader fortsættelsen sætte kontrollen til den næste iteration af den sløjfe.

Top