Se afișează postările cu eticheta while. Afișați toate postările
Se afișează postările cu eticheta while. 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ă!
💝

joi, 8 februarie 2024

Instrucţiunea repetitivă while

În programarea Java, structurile repetitive ne ajută să executăm un set de instrucţiuni de mai multe ori, fără a repeta codul manual. Una dintre variante este instrucţiunea while, utilă în special când nu ştim de la început exact de câte ori vrem să repetăm acţiunea.

Scop:

Se foloseşte atunci când:
  1. condiţia de repetare depinde de o variabilă ce se poate modifica în timpul execuţiei;
  2. vrem să repetăm o acţiune atât timp cât o anumită condiţie este adevărată;
  3. nu avem neapărat un contor fix la început (sau contorul apare intern).

Sintaxa:

while (expresie_conditie) {
// instrucţiuni
}

 Semantica:

  1. Se verifică expresia_conditie.
  2. Dacă este adevărată (true), se execută corpul buclei.
  3. Dacă este falsă (false), se iese din buclă.
  4. După executarea corpului, se revine la pasul 1.
  5. Atunci când expresia devine falsă, bucla se încheie şi execuţia continuă cu instrucţiunea următoare.

Exemplu:


Rezultat:

Atenţie!

Dacă variabila/condiţia nu se modifică corect în corpul buclei, riscăm o buclă infinită.

De exemplu, codul de mai jos conține buclă infinită:
Rezultat:
Deci corect este:

Rezultat:



Variabila/condiţia trebuie să fie vizibilă în contextul buclei (de ex. declarată înainte).

Utilizaţi break dacă aveţi nevoie să ieşiţi anticipat din buclă în situaţii speciale:


De exemplu:

Rezultat:





Să aveți o zi deosebită!
💝