Se afișează postările cu eticheta dowhile. Afișați toate postările
Se afișează postările cu eticheta dowhile. Afișați toate postările

joi, 15 august 2024

Instrucţiunea repetitivă do-while

În limbajul Java există încă o instrucțiune iterativă, do‑while — asemănătoare cu while, dar cu o diferenţă importantă: corpul buclei se execută cel puţin o dată, indiferent dacă condiţia iniţială este adevărată sau falsă.

Scop:
Se foloseşte atunci când:
  1. vrem să efectuăm cel puţin o dată o acţiune (de ex. afişarea unui meniu, citirea input-ului) şi apoi să continuăm repetarea doar cât timp condiţia este îndeplinită;
  2. condiţia de continuare apare după corpul buclei (post-condiţie).
Sintaxa:
do { 
 // instrucţiuni 
} while (expresie_conditie);


Semantica:
  1. Se execută corpul buclei.
  2. Se verifică expresia_conditie.
  3. Dacă este adevărată, se revine la pasul 1 (se repetă).
  4. Dacă este falsă, bucla se opreşte şi apoi execuţia continuă.

Exemplu

Rezultate


Explicație
Codul solicită utilizatorului un număr pozitiv cel puţin o dată, şi repetă solicitarea dacă numărul este negativ.
Chiar dacă expresia_conditie este falsă de la început (ex. numar este deja pozitiv), corpul se va executa o dată.
Ca şi în cazul instrucțiunii while, trebuie să existe o cale de ieşire — altfel va apărea o buclă infinită.
Evitaţi folosirea condiţiei true fără mecanism de întrerupere.



joi, 4 iulie 2024

Exemplu comparativ. Instrucțiuni iterative Java


Toate cele trei programe determină numărul valorilor pare dintre 1 și n (unde n = 10).

Exemplul1. Utilizarea instrucţiunii for:

public class Ex_for {

public static void main (String [] args){

  int n=10, nr=0;

  for (int i=1; i<=n; i++) if (i%2==0) nr++;

  System.out.println(nr);

}}                              


Exemplul2. Utilizarea instrucţiunii while:

public class Ex_while {

public static void main (String [] args){

  int i = 1, n=10, nr=0;

  while (i<=n){

       if (i%2==0)

       nr++;

       i++;

  }

     System.out.println(nr);}}


Exemplul3. Utilizarea instrucţiunii do ... while:

 public class Ex_do_while {

public static void main (String [] args){

  int i = 1, n=10, nr=0;

  do {

       if (i%2==0)

       nr++;

       i++;}

  while (i<=n);

  System.out.println(nr);

}}



Să aveți o zi deosebită!
💝