verschil tussen for en while lus

for en while lusin C++ en Java staan de iteratie-statements, voor lus, while lus en do-while lus, toe dat de set instructies herhaaldelijk wordt uitgevoerd, totdat de voorwaarde Waar is en eindigt zodra de voorwaarde onwaar wordt. Voorwaarden in iteratieverklaringen kunnen vooraf worden gedefinieerd als in voor loop of open-ended als in while loop.

er zijn verschillende ‘for’ loop variaties in C++ worden geïmpliceerd om de toepasbaarheid, kracht en flexibiliteit te vergroten. Bijvoorbeeld, De for-lus staat ons toe om meer dan één variabele binnen de lus te gebruiken om het te controleren, en het gebruik van converge-functie Met ‘for’ – lus. Omgekeerd, met while lus kunnen we niet veel variaties gebruiken, die moeten worden gebruikt met de standaard syntaxis.

er zijn enkele belangrijke verschillen tussen for en while loops, die verder worden uitgelegd met behulp van een vergelijkingsgrafiek.

inhoud: voor Loop Vs while-Lus

  1. het overzicht
  2. Definitie
  3. – Toets Verschillen
  4. Conclusie

vergelijkingstabel

Basis voor Vergelijking voor terwijl
Verklaring for(initialisatie; voorwaarde; iteratie){
//lichaam van ‘for’ – lus
}
while ( voorwaarde) {
mededelingen; // body van lus
}
Format initialisatie, conditiecontrole, iteratie statement worden geschreven aan de bovenkant van de lus. alleen initialisatie en conditiecontrole wordt uitgevoerd aan de bovenkant van de lus.
gebruik de lus ‘voor’ wordt alleen gebruikt als we het aantal herhalingen al kennen. de lus ‘while’ wordt alleen gebruikt wanneer het aantal herhalingen niet precies bekend is.
voorwaarde als de voorwaarde niet in de lus ‘for’ is opgenomen, herhaalt de lus oneindige tijden. als de voorwaarde niet in de lus ‘while’ wordt weergegeven, biedt het compilatiefout.
initialisatie in de lus’ voor ‘ wordt de initialisatie na voltooiing nooit herhaald. in while loop als initialisatie wordt gedaan tijdens conditiecontrole, dan wordt initialisatie gedaan elke keer dat de lus itereert.
iteratie statement in’ for ‘ lus iteratie statement wordt bovenaan geschreven, dus wordt het alleen uitgevoerd nadat alle statements in lus zijn uitgevoerd. In de lus ‘while’ kan het iteratie statement overal in de lus worden geschreven.

definitie van for loop

in Java zijn er twee vormen van For Lups. De eerste vorm is “traditionele” vorm en de tweede is” voor-elke ” vorm.

syntaxis

the general form of traditional for loop statement.

for (initialization; condition; iteration){//body of for loop}
  • initialisatie: de initialisatie van de lus controlerende variabele van voor lus wordt slechts één keer uitgevoerd, tijdens de eerste iteratie van de lus. Hier wordt de lus controlerende variabele geïnitialiseerd, soms als de lus variabele niet opnieuw ergens in het programma wordt gebruikt en alleen wordt gebruikt als de controlerende variabele van de lus, dan wordt deze zowel gedeclareerd als geïnitialiseerd in de lus ‘for’.
  • voorwaarde: de voorwaarde van de lus ‘voor’ wordt uitgevoerd telkens wanneer de lus wordt herhaald.
  • Increment en iteratie: het iteratie statement is een uitdrukking die de lus controlerende variabele verhoogt of verlaagt.

wanneer de lus wordt uitgevoerd, wordt de initialisatievoorwaarde eerst uitgevoerd; daarna wordt de conditie gecontroleerd. Als aan de voorwaarde wordt voldaan, wordt het lichaam van de lijn uitgevoerd, dan wordt de iteratieverklaring uitgevoerd. Dan weer, de voorwaarde wordt gecontroleerd om te weten of de lus verder zal herhalen of zal eindigen.

in Java kunnen de initialisatie-en iteratie-statement meer dan één statement bevatten. Elk statement wordt gescheiden door een andere door een komma, in Java is een komma een scheidingsteken terwijl, in C++, “komma” een operator is die kan worden gebruikt in elke geldige expressie.

voor-elke lus en zijn syntaxis

de “voor-elke” vorm is een verbeterde voor lus. De algemene vorm van de for-each lus is als volgt.

for(type iter_variable: collection) statement-block

hier specificeert” type ” het type iteratievariabele, gevolgd door de iteratievariabele. De iteratievariabele ontvangt het element uit de collectievariabele. Het type moet hetzelfde zijn als het type elementen dat in de collectievariabele is opgeslagen. De for-each vorm van for lus automatiseert de iteratie van de lus van begin tot eind toegang tot de waarden in volgorde.

voorbeeld

er worden verschillende soorten collecties gebruikt met for loop. Laten we het bespreken met een array als een verzameling.

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

hier is’ c ‘ een iteratievariabele; het ontvangt de waarden van array, één voor één, van de laagste index naar de hoogste index in de array. Hier herhaalt de lus zich totdat alle elementen van de array zijn onderzocht. Het is mogelijk om de lus tussendoor te beëindigen met behulp van”break”. De verandering in de iteratievariabele heeft echter geen invloed op de array, omdat het slechts een read-only variabele is.

definitie van while loop

de while loop is de meest fundamentele lus die beschikbaar is in C++ en Java. De werking van een while loop is vergelijkbaar in zowel C++ als Java.

syntaxis

de declaratie van een while-lus is als volgt

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

de while-lus controleert aanvankelijk de voorwaarde en voert vervolgens de statements uit totdat de voorwaarde in while-lus waar blijkt te zijn. De voorwaarde in while lus kan elke Booleaanse uitdrukking zijn. Wanneer een expressie een niet-nulwaarde retourneert, is de voorwaarde waar en als de expressie een nulwaarde retourneert, wordt de voorwaarde ONWAAR.

als de voorwaarde Waar wordt, dan herhaalt de lus zichzelf, en als de voorwaarde onwaar wordt, dan gaat de controle over naar de volgende regel van de code onmiddellijk gevolgd door de lus. De statements of de body lus kunnen een lege statement of een enkele statement of een blok van statements zijn.

voorbeeld

laten we de werking van een while-lus bespreken. In het voorbeeld hieronder wordt de code afgedrukt van 1 tot 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

hier is de beginwaarde van ‘n’ 0, wat de voorwaarde in while-lus true maakt. De controle komt dan in het lichaam van de while-lus en de waarde van ‘n’ wordt verhoogd volgens de eerste verklaring in het lichaam van een while-lus.

de waarde van ‘n’ wordt afgedrukt, dan gaat de controle terug naar de conditie in een while-lus, nu is de waarde van ‘n’ 1 die weer aan de voorwaarde voldoet, en het lichaam van de lus wordt opnieuw uitgevoerd. Dit gaat door tot de voorwaarde Waar is, zodra de voorwaarde onwaar wordt, wordt de lijn beëindigd.

net als’ for ‘lus, kan de’ while ‘ lus ook de regelvariabele aan de bovenkant van de lus initialiseren, d.w.z. tijdens condition checking.

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

hier wordt de regelvariabele ‘ch’ geïnitialiseerd en wordt de conditie van de lus aan de bovenkant van de lus geverifieerd.

Noot

kan het een for lus of een while lus zijn, als er slechts één statement in het lichaam van de lus is, zijn de accolades niet vereist in die voorwaarde.

belangrijke verschillen tussen for en while lus

  1. In for lus, initialisatie, conditiecontrole en verhoging of afname van iteratievariabele worden alleen expliciet in de syntaxis van een lus gedaan. Daarentegen kunnen we in de while lus alleen de conditie in de syntaxis van de lus initialiseren en controleren.
  2. als we ons bewust zijn van het aantal iteraties dat moet plaatsvinden in een uitvoering van een lus, dan gebruiken we voor lus. Aan de andere kant, als we ons niet bewust zijn van het aantal iteratie dat in een lus moet plaatsvinden, dan gebruiken we while lus.
  3. als u er niet in slaagt om condition statement in voor lus, zal dit leiden tot een oneindige iteratie van een lus. In tegenstelling, als je er niet in slaagt om condition statement in de while lus zal leiden tot een compilatie fout.
  4. het initialisatie statement in de syntaxis van for loop voert slechts één keer uit aan het begin van de lus. Omgekeerd, als while lus initialisatie statement in zijn syntaxis draagt, dan zal de initialisatie statement in de while lus uitvoeren elke keer dat de lus itereert.
  5. het iteratie statement in de lus for wordt uitgevoerd nadat de body voor lus wordt uitgevoerd. Integendeel, de iteratie statement kan worden geschreven overal in het lichaam van while lus dus, kunnen er enkele statements die uit te voeren na de uitvoering van de iteratie statement in het lichaam van while lus.

conclusie

De for-lus en while-lus zijn beide iteratie-statement, maar beide hebben hun verschillende functie. De for lus heeft al zijn declaratie (initialisatie, conditie, iteratie) aan de bovenkant van het lichaam van de lus. Nadelig, in terwijl Lijn slechts initialisatie en voorwaarde aan de bovenkant van het lichaam van lijn is en iteratie kan overal in het lichaam van de lijn worden geschreven.