forskel mellem for og Mens loop

for og Mens loopi C++ og Java tillader iterationserklæringerne For loop, Mens loop og do-Mens loop, at instruktionssættet udføres gentagne gange, indtil betingelsen er sand og ophører, så snart tilstanden bliver falsk. Betingelser i iteration udsagn kan være foruddefineret som i for loop eller open-ended som i Mens loop.

der er flere ‘ For ‘ loop variationer i C++ er underforstået at øge dens anvendelighed, magt og fleksibilitet. For eksempel giver For loop os mulighed for at bruge mere end en variabel inde i sløjfen for at kontrollere den og brugen af konvergeringsfunktion med ‘for’ loop. Omvendt, med Mens loop kan vi ikke bruge mange variationer, der skal bruges med standard syntaks.

der er nogle store forskelle mellem for og mens sløjfer, som forklares yderligere ved hjælp af et sammenligningsdiagram.

indhold: For Loop Vs Mens Loop

  1. sammenligningskort
  2. Definition
  3. nøgleforskelle
  4. konklusion

sammenligningskort

sammenligningsgrundlag for mens
Erklæring til (initialisering; tilstand; iteration){
/ / krop af ‘ For ‘ loop
}
mens (tilstand) {
udsagn; // krop af loop
}
Format initialisering, tilstandskontrol, iterationserklæring er skrevet øverst i løkken. kun initialisering og tilstandskontrol udføres øverst i løkken.
brug ‘for’ – sløjfen, der kun bruges, når vi allerede vidste antallet af iterationer. ‘mens’ – sløjfen bruges kun, når antallet af iteration ikke er nøjagtigt kendt.
tilstand hvis tilstanden ikke er sat op i ‘for’ loop, gentager loop uendelige tider. hvis betingelsen ikke er sat op i ‘Mens’ loop, det giver kompilering fejl.
initialisering i ‘for’ loop gentages initialiseringen, når den er udført, aldrig. i Mens loop hvis initialisering udføres under tilstandskontrol, udføres initialisering hver gang sløjfen gentages.
Iteration erklæring i ‘for’ loop iteration erklæring er skrevet øverst, derfor udfører kun efter alle udsagn i loop er udført. i ‘Mens’ loop kan iterationserklæringen skrives hvor som helst i sløjfen.

Definition af For loop

i Java er der to former for for loops. Den første form er “traditionel” form, og den anden er “for-hver” form.

syntaks

den generelle form for traditionel til loop-erklæring.

for (initialization; condition; iteration){//body of for loop}
  • initialisering: initialiseringen af sløjfestyringsvariablen for for loop udføres kun en gang under den første iteration af sløjfen. Her initialiseres sløjfestyringsvariablen, nogle gange hvis sløjfevariablen ikke bruges igen hvor som helst i programmet og kun bruges som styringsvariablen for sløjfen, så erklæres den både og initialiseres i ‘for’ – sløjfen.
  • tilstand: tilstanden for ‘for’ – sløjfen udføres hver gang sløjfen gentages.
  • forøgelse og iteration: iterationserklæringen er et udtryk, der øger eller formindsker sløjfestyringsvariablen.

når sløjfen udføres, udføres dens initialiseringstilstand først; derefter kontrolleres tilstanden. Hvis betingelsen er opfyldt, udføres sløjfens krop, så udføres iterationserklæringen. Så igen kontrolleres betingelsen for at vide, om sløjfen vil gentage yderligere eller vil afslutte.

i Java kan initialiseringserklæringen og iterationserklæringen indeholde mere end en erklæring. Hver sætning er adskilt af andre med et komma, i Java er et komma en separator, mens I C++ er “komma” en operatør, der kan bruges i ethvert gyldigt udtryk.

for-hver sløjfe og dens syntaks

formularen “for-hver” er en forbedret for loop. Den generelle form for for-hver sløjfe er som følger.

for(type iter_variable: collection) statement-block

her specificerer “type” typen af iterationsvariabel efterfulgt af iterationsvariablen. Iterationsvariablen modtager elementet fra indsamlingsvariablen. Typen skal være den samme som den type elementer, der er gemt i indsamlingsvariablen. For-hver form for for loop automatiserer iterationen af sløjfen fra start til slut adgang til værdierne i rækkefølge.

eksempel

der er forskellige typer af indsamling bruges med for loop. Lad os diskutere det med et array som en samling.

public class Main{ public static void main(String args) { int array={10, 20, 30, 40, 50, 60}; int add=0; for( int c: array) { System.out.println( "value in c " + c); add = add+c; } System.out.println("additon of array elements is " +add); }}// outputvalue in c 10value in c 20value in c 30value in c 40value in c 50value in c 60additon of array elements is 210

her er ‘c’ en iterationsvariabel; den modtager værdierne fra array, en ad gangen, fra det laveste indeks til det højeste indeks i arrayet. Her gentages sløjfen, indtil alle elementerne i arrayet undersøges. Det er muligt at afslutte sløjfen imellem ved at bruge “break”. Ændringen i iterationsvariablen påvirker dog ikke arrayet, da det kun er en skrivebeskyttet variabel.

Definition af Mens loop

Mens loop er den mest grundlæggende loop tilgængelig i C++ og Java. Arbejdet med et stykke tid loop er ens i både C++ og Java.

syntaks

erklæringen om et stykke tid loop er som følger

while ( condition) {statements; //body of loop}

Mens loop oprindeligt kontrollerer tilstanden og udfører derefter udsagnene, indtil tilstanden i mens loop viser sig at være sandt. Tilstanden i Mens loop kan være ethvert boolsk udtryk. Når et udtryk returnerer en værdi, der ikke er nul, er betingelsen sand, og hvis udtrykket returnerer en nulværdi, bliver betingelsen falsk.

hvis betingelsen bliver sand, gentager loop sig selv, og hvis tilstanden bliver falsk, passerer kontrollen til den næste linje i koden straks efterfulgt af sløjfen. Udsagnene eller kropssløjfen kan enten være en tom erklæring eller en enkelt erklæring eller en blok af udsagn.

eksempel

lad os diskutere arbejdet i et stykke tid loop. I eksemplet nedenfor udskrives koden fra 1 til 10.

//example is in Java.public class Main{ public static void main (String args) { int n=0; while(n<10) { n++; System.out.println("n=" +n); } }}//outputn=1n=2n=3n=4n=5n=6n=7n=8n=9n=10

her er den oprindelige værdi af ‘n’ 0, hvilket gør betingelsen i Mens loop sand. Kontrollen kommer derefter ind i kroppen af Mens loop og værdien af ‘n’ øges i henhold til den første erklæring i kroppen af en Mens loop.

værdien af ‘n’ udskrives, så går kontrollen tilbage til tilstanden i et stykke tid loop, nu er værdien af ‘n’ 1, som igen opfylder betingelsen, og sløjfens krop udføres igen. Dette fortsætter, indtil betingelsen er sand, så snart betingelsen bliver falsk, sløjfen afsluttes.

Ligesom ‘For’ loop kan ‘mens’ sløjfen også initialisere kontrolvariablen øverst i sløjfen, dvs.under tilstandskontrol.

//for examplewhile((ch = getchar( ) ) != 'A'){System.out.println(" The input alphabet " +ch);}

her initialiseres kontrolvariablen ‘ch’, og tilstanden af sløjfen verificeres øverst i sløjfen.

Bemærk

må det være en for loop eller et stykke tid loop, hvis der kun er en erklæring i sløjfens krop, er de krøllede bøjler ikke påkrævet i denne tilstand.

nøgleforskelle mellem for og Mens loop

  1. i for loop, initialisering, tilstandskontrol og forøgelse eller nedsættelse af iterationsvariabel udføres eksplicit kun i syntaksen for en loop. Som imod, i Mens loop kan vi kun initialisere og kontrollere tilstand i syntaksen af sløjfen.
  2. når vi er opmærksomme på antallet af iterationer, der skal forekomme i en udførelse af en loop, så bruger vi til loop. På den anden side, hvis vi ikke er opmærksomme på antallet af iteration, der skal forekomme i en løkke, så bruger vi Mens loop.
  3. hvis du undlader at sætte betingelseserklæring i For loop, vil det føre til en uendelig iteration af en loop. I modsætning hertil, hvis du undlader at sætte betingelseserklæring i sløjfen, vil det føre til en kompileringsfejl.
  4. initialiseringserklæringen i syntaksen for for loop udføres kun en gang i starten af sløjfen. Omvendt, hvis Mens loop bærer initialiseringserklæring i sin syntaks, udføres initialiseringserklæringen i Mens loop hver gang sløjfen gentages.
  5. iterationserklæringen i for-sløjfen udføres, når kroppen for loop udføres. Tværtimod, iterationserklæringen kan skrives hvor som helst i kroppen af Mens loop så, der kan være nogle udsagn, der udføres efter udførelsen af iterationserklæringen i kroppen af Mens loop.

konklusion

for loop og Mens loop begge er iteration erklæring, men begge har deres særskilte træk. For-sløjfen har al sin erklæring (initialisering, tilstand, iteration) øverst på sløjfens krop. Negativt, i Mens loop kun initialisering og tilstand er øverst i kroppen af loop og iteration kan skrives hvor som helst i kroppen af sløjfen.