În acest articol, vom discuta despre diferențele dintre bucla "în timp" și buclă "în timp".
Diagramă de comparație
Bazele de comparație | in timp ce | face în timp ce |
---|---|---|
Forma generală | în timp ce (condiție) { declarații; // corp de bucla } | do{ . declarații; // corp de bucla. . } în timp ce (Condiție); |
Controlul condițiilor | În "loop" în timp ce starea de control apare la începutul buclei. | În buclă "în timp", condiția de control apare la sfârșitul bucla. |
iterații | Iterațiile nu apar dacă, la prima repetare, condiția pare falsă. | Repetarea are loc cel puțin o dată, chiar dacă condiția este falsă la prima repetare. |
Definiția while Loop
Ciclul în timp este cea mai fundamentală buclă disponibilă în C ++ și Java. Funcționarea unei buclă în timp este similară atât în C ++, cât și în Java. Forma generală a bucla în timp ce este:
în timp ce (condiție) {declarații; // corp de bucla}
Buclele în timp verifică mai întâi condiția, iar dacă condiția este adevărată atunci iterează buclele până când situația se dovedește a fi falsă. Starea în buclă în timp poate fi orice expresie booleană. Când expresia returnează orice valoare nenulă, atunci condiția este "adevărată", iar dacă o expresie returnează o valoare zero, condiția devine "falsă". Dacă condiția devine adevărată, bucla se repetă și, dacă condiția devine falsă, atunci comanda trece la linia următoare a codului imediat urmat de buclă.
Declarațiile sau corpul bucla pot fi fie o declarație goală, fie o singură declarație sau un bloc de declarații.
Să discutăm despre funcționarea unui buclă. În exemplul de mai jos, codul va tipări de la 1 la 10.
// exemplu este în Java. clasă în timp ce {public static void principal (args []) {int n = 0; în timp ce (n <= 10) {n ++; sistem.out.println ("n =" + n); }}} // ieșire n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10
Aici, valoarea inițială a lui 'n' este 0, ceea ce transformă condiția în buclă în timp real. Controlul intră apoi în corpul bucla în timp ce valoarea 'n' este incrementată în conformitate cu prima instrucțiune din corpul unei buclă. Apoi, valoarea 'n' este imprimată și din nou, comanda revine la starea unui buclă, iar acum 'n' este 1 care satisface din nou condiția și corpul bucla 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 pentru buclă, bucla în timp, de asemenea, verifică mai întâi condiția și apoi execută corpul bucla.
Definiția do-while Loop
Ca și în buclă în timp, dacă condiția de control devine falsă numai în prima iterație, atunci corpul bucla în timp ce nu este executat deloc. Dar bucla "do-while" este oarecum diferită față de bucla în timp. Buclele do-while execută corpul bucla cel puțin o dată, chiar dacă condiția este falsă la prima încercare.
Forma generală de a face-timp este după cum urmează.
nu {. declarații // corp de bucla. . } în timp ce (Condiție);
Într-o buclă de timp, corpul de buclă are loc înainte de condiția de control, iar instrucțiunea condiționată se află în partea de jos a buclă. Ca și în buclă în timp, aici, de asemenea, corpul bucla poate fi gol, atât C ++ cât și Java permit declarații nulă sau, poate exista doar o singură instrucțiune sau un bloc de instrucțiuni. Condiția de aici este, de asemenea, o expresie booleană, care este valabilă pentru orice valoare non-zero.
Într-o buclă de timp, controlul ajunge mai întâi la instrucțiunea din corpul unei buclă. Declarațiile din corp se execută mai întâi și apoi controlul ajunge la partea de condiție a buclă. Condiția este verificată și, dacă este adevărat, bucla este repetată din nou, iar dacă condiția este falsă, atunci comanda revine la următoarea linie imediat după buclă.
Să înțelegem acest lucru prin implementarea exemplului de mai sus.
// exemplu este în Java. clasa în timp ce {public static void principal (args []) {int n = 1; nu {system.out.println ("n =" + n); n ++; } în timp ce (n <10)}} // ieșire n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10
Aici, valoarea n = 1 controlul revine la corpul bucla, valoarea 'n' este imprimată și apoi valoarea sa este incrementată. Apoi, controlul revine la starea buclă-ului; condiția este verificată, care se dovedește a fi adevărată pentru n = 1, deci bucla este repetată și continuă până când condiția devine falsă.
Diferențe cheie între timpul și buclă
- Circuitul în timp verifică starea la pornirea buclă și, dacă condiția este satisfăcută în interiorul buclă, este executată. În bucla "do-while", condiția este verificată după executarea tuturor instrucțiunilor din corpul bucla.
- Dacă condiția dintr-o buclă while este falsă, nu se execută o singură instrucțiune în interiorul buclă și dacă condiția din buclă "do-while" este falsă, atunci și corpul bucla este executat cel puțin o dată, atunci condiția este testată.
Concluzie:
Atât în timp cât și în buclă în timp sunt declarația de iterație, dacă vrem mai întâi, condiția ar trebui verificată, iar apoi instrucțiunile din bucla trebuie executate apoi se utilizează buclă. Dacă doriți să testați condiția de terminare la sfârșitul buclă, atunci se utilizează bucla do-while.