Jump to content

Timp rămas până la zilele B-Zone

V-am pregătit o mulțime de evenimente. Click aici

La mulți ani B-ZONE!

V-am pregătit o mulțime de evenimente. Click aici

[JAVA]Instructiunea while


TLG Andrei26
 Share

Recommended Posts

Instructiunea While - Java

 

- Instructiunea while este intrebuintata pentru executia repetata a unei instructiuni.

- Sintaxa:

while (<Expresie) <Instructiune>

* <Expresie> trebuie sa aiba tipul boolean, altfel obtinem o eroare la compilare.

- Executia intructiunii while incepe prin evaluarea lui <Expresie>. Daca evaluarea acestuia se termina anormal si instructiunea se termina anormal. Altfel, executia continua astfel:

 

1) Daca valoarea lui <Expresie> este true, atunci se executa <Instructiune>:

  • Daca executia lui <Instructiune> se termina normal, atunci intreaga instructiune while se executa din nou, incepand cu reevaluarea lui <Expresie>.
  • Daca executia lui <Instructiune> se termina anormal, atunci se executa pasul 3.

 

2) Daca valoarea lui <Expresie> este false, atunci nu se executa nimic si executia instructiunii while se termina normal. De aceea, daca valoarea lui <Expresie> este false pentru prima evaluare, atunci <Instructiune> NU se executa.

 

3) Daca executia lui <Instructiune> se termina anormal din cauza unui break fara etichete, atunci nu se executa nimic si executia instructiunii se termina normal.

4) Daca executia lui <Instructiune> se termina anormal din cauza unui continue fara eticheta, atunci instructiunea se executa inca o data.

5) Daca executia lui <Instructiune> se termina anormal din alt motiv, atunci intreaga instructiune while se termina anormal din acelasi motiv.

 

- Astfel, o intructiune while se poate executa de 0 ori (in cazul in care <Expresie> este evaluata false de la inceput), de un numar finit de ori (in cazul in care <Expresie> se evalueaza true sau exista un break in <Instructiune> - cazul cel mai des intalnit) sau de o infinitate de ori (in cazul in care <Instructiune> nu reuseste sa implice evaluarea lui <Expresie> la true sau nu exista un break in <Instructiune>).

 

- Exemplu de utilizare a instructiunii while ce se termina cu ajutorul lui break:

 

public class WhileUnu {
  public static void main(String args[]){
    int i = 0;
    while(true) {
      if ( i == 1 ) break;
      i = (int)(Math.random() * 5);
      System.out.println("i = " + i);
    }
  }
}

Acesta va afisa (eventual) la executie:

 

i = 2

i = 3

...

i = 1

 

Executia programului de mai sus este nedeterminista, adica la 2 executii distincte este foarte posibil sa obtinem rezultate diferite.

 

- Un al doilea exemplu de utilizare a intructiunii while conditionat (adica de iesire cu satisfacerea conditiei booleene, si nu cu break):

 

public class WhileDoi {
  public static int f (int n) {
    return (int)(Math.random() * n);
  }
  
  public static void main (String args[]) {
    int i = 0;
    while(f(5) != 1) i++;
    System.out.println("Au fost " + i + " iteratii");
  }
}

O posibila executie este:

 

Au fost 9 iteratii.

 

 

- Daca aveti intrebari sau nelamuriri va rog sa mi le lasati intr-un PM. 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.