diferența dintre For și while loop

for și while loop în C++ și Java, declarațiile de iterație, pentru loop, while loop și Do-while loop, permit executarea repetată a setului de instrucțiuni, până când condiția este adevărată și se termină imediat ce condiția devine falsă. Condițiile din declarațiile de iterație pot fi predefinite ca în pentru buclă sau deschise ca în while loop.

există mai multe ‘pentru’ variații de buclă în C++ sunt implicite pentru a crește aplicabilitatea, puterea și flexibilitatea. De exemplu, bucla for ne permite să folosim mai multe variabile în interiorul buclei pentru a o controla și utilizarea funcției converg cu bucla ‘for’. În schimb, cu bucla în timp ce nu putem folosi mai multe variante, care trebuie să fie utilizate cu sintaxa standard.

există câteva diferențe majore între buclele for și while, care sunt explicate în continuare cu ajutorul unei diagrame de comparație.

conținut: Pentru Buclă Vs în timp ce Buclă

  1. diagramă comparație
  2. definiție
  3. diferențe cheie
  4. concluzie

diagramă comparație

baza pentru comparație pentru în timp ce
declarație pentru (inițializare; condiție; iterație) {
/ / corpul buclei ‘pentru’
}
în timp ce (condiție) {
declarații; // corp de buclă
}
Format inițializarea, verificarea stării, Declarația de iterație sunt scrise în partea de sus a buclei. numai inițializarea și verificarea stării se fac în partea de sus a buclei.
utilizați bucla ‘for’ utilizată numai atunci când știam deja numărul de iterații. bucla ‘while’ utilizată numai atunci când numărul de iterații nu este exact cunoscut.
condiție în cazul în care condiția nu este pus în ‘pentru’ buclă, apoi bucla iterează infinit de ori. dacă condiția nu este pusă în bucla ‘while’, aceasta oferă eroare de compilare.
inițializare în bucla ‘pentru’ inițializarea odată terminată nu se repetă niciodată. în while loop dacă inițializarea se face în timpul verificării stării, atunci inițializarea se face de fiecare dată când bucla se repetă.
declarație iterație în ‘pentru’ Declarație iterație buclă este scris în partea de sus, prin urmare, execută numai după ce toate declarațiile în buclă sunt executate. în bucla ‘while’, instrucțiunea iterație poate fi scrisă oriunde în buclă.

definiția pentru buclă

în Java, există două forme De pentru bucle. Prima formă este forma „tradițională”, iar a doua este forma” pentru-fiecare”.

sintaxă

forma generală a declarației tradiționale pentru buclă.

for (initialization; condition; iteration){//body of for loop}
  • inițializare: inițializarea variabilei de control a buclei pentru buclă este executată o singură dată, în timpul primei iterații a buclei. Aici, variabila de control al buclei este inițializată, uneori dacă variabila de buclă nu este utilizată din nou nicăieri în program și este utilizată doar ca variabilă de control a buclei, atunci este declarată și inițializată în bucla ‘pentru’.
  • condiție: starea buclei ‘for’ este executată de fiecare dată când bucla este iterată.
  • Increment și iterație: instrucțiunea iterație este o expresie care incrementează sau scade variabila de control al buclei.

ori de câte ori bucla este executată, condiția sa de inițializare este executată mai întâi; apoi, condiția este verificată. Dacă condiția este îndeplinită, corpul buclei este executat, apoi instrucțiunea de iterație este executată. Apoi, din nou, condiția este verificată pentru a ști dacă bucla va repeta în continuare sau se va termina.

în Java, instrucțiunea de inițializare și instrucțiunea de iterație pot include mai multe instrucțiuni. Fiecare instrucțiune este separată de alta printr-o virgulă, în Java, o virgulă este un separator în timp ce, în c++, „virgulă” este un operator care poate fi utilizat în orice expresie validă.

pentru-fiecare buclă și sintaxa sa

forma „pentru-fiecare” este o buclă îmbunătățită. Forma generală a pentru-fiecare buclă este după cum urmează.

for(type iter_variable: collection) statement-block

aici, „tipul” specifică tipul variabilei de iterație, urmată de variabila de iterație. Variabila de iterație va primi elementul din variabila de colectare. Tipul trebuie să fie același cu tipul de elemente stocate în variabila de colectare. For-fiecare formă de Pentru Buclă automatizează iterația buclei de la început până la sfârșit accesarea valorilor în ordine secvențială.

exemplu

există diferite tipuri de colectare utilizate cu pentru buclă. Să discutăm cu o matrice ca o colecție.

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

aici, ‘c’ este o variabilă de iterație; primește valorile din matrice, una câte una, de la cel mai mic indice la cel mai mare indice din matrice. Aici, bucla iterează până când toate elementele matricei sunt examinate. Este posibil să încheiați bucla între ele folosind „pauză”. Cu toate acestea, modificarea variabilei de iterație nu afectează matricea, deoarece este doar o variabilă numai în citire.

definiția buclei while

bucla while este cea mai fundamentală buclă disponibilă în C++ și Java. Funcționarea unei bucle de timp este similară atât în C++, cât și în Java.

sintaxă

Declarația de o buclă în timp ce este după cum urmează

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

bucla în timp ce verifică inițial starea și apoi execută declarațiile până la condiția în timp ce bucla se dovedește a fi adevărat. Condiția din while loop poate fi orice expresie booleană. Când o expresie returnează orice valoare diferită de zero, atunci condiția este adevărată, iar dacă expresia returnează o valoare zero, condiția devine falsă.

dacă condiția devine adevărată, atunci bucla se iterează, iar dacă condiția devine falsă, atunci controlul trece la următoarea linie a codului urmată imediat de buclă. Declarațiile sau bucla corpului poate fi fie o declarație goală sau o singură declarație sau un bloc de declarații.

exemplu

să discutăm despre funcționarea unei bucle în timp ce. În exemplul de mai jos codul va imprima de la 1 la 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

aici, valoarea inițială a lui ‘n’ este 0, ceea ce face ca starea în buclă să fie adevărată. Controlul intră apoi în corpul buclei while și valoarea lui ‘ n ‘ este incrementată în funcție de prima afirmație din corpul unei bucle while.

valoarea lui ‘n’ este imprimată, apoi controlul revine la condiție într-o buclă while, acum valoarea lui ‘n’ este 1 care satisface din nou condiția, iar corpul buclei este executat din nou. Aceasta continuă până când condiția este adevărată, de îndată ce condiția devine falsă, bucla este terminată.

la fel ca bucla ‘for’, bucla ‘while’ poate inițializa și variabila de control din partea de sus a buclei, adică în timpul verificării stării.

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

aici variabila de control ‘ch’ este inițializată, iar starea buclei este verificată în partea de sus a buclei.

notă

poate fi o buclă for sau o buclă while, dacă există o singură afirmație în corpul buclei, bretelele ondulate nu sunt necesare în această stare.

diferențe cheie între For și while loop

  1. în For loop, inițializare, verificarea stării și incrementarea sau descreșterea variabilei de iterație se face în mod explicit numai în sintaxa unei bucle. În ceea ce privește, în bucla while putem inițializa și verifica starea numai în sintaxa buclei.
  2. când suntem conștienți de numărul de iterații care trebuie să apară într-o execuție a unei bucle, atunci folosim pentru buclă. Pe de altă parte, dacă nu suntem conștienți de numărul de iterații care trebuie să apară într-o buclă, atunci folosim while loop.
  3. dacă nu reușiți să puneți declarația condiție în buclă, aceasta va duce la o iterație infinită a unei bucle. În schimb, dacă nu reușiți să puneți Declarația de condiție în bucla while, aceasta va duce la o eroare de compilare.
  4. instrucțiunea de inițializare din sintaxa pentru buclă se execută o singură dată la începutul buclei. În schimb, dacă while loop poartă instrucțiunea de inițializare în sintaxa sa, atunci instrucțiunea de inițializare din bucla while se va executa de fiecare dată când bucla iterează.
  5. instrucțiunea de iterație din bucla for se va executa după executarea corpului pentru buclă. Dimpotrivă, Declarația de iterație poate fi scrisă oriunde în corpul buclei while deci, pot exista câteva declarații care se execută după executarea Declarației de iterație în corpul buclei while.

concluzie

bucla for și while loop ambele sunt instrucțiuni de iterație, dar ambele au caracteristica lor distinctă. Bucla for are toate declarațiile sale (inițializare, condiție, iterație) în partea de sus a corpului buclei. În mod negativ, în timp ce bucla doar inițializarea și starea se află în partea de sus a corpului buclei și iterația poate fi scrisă oriunde în corpul buclei.