Documente Academic
Documente Profesional
Documente Cultură
for,
while,
do-while
Bucla For
0
2
4
Însă, dacă după acest bloc mai adăugăm o linie în care prezentăm
valoarea variabilei counter, se va produce o eroare pentru că variabila
counter a fost declarată şi iniţializată în interiorul buclei.
De exemplu:
Şirul creat mai sus are cinci elemente. Indecşii elementelor sunt de la 0
la 4. De aceea, în condiţie se foloseşte inegalitate strictă pentru ca
programul să nu încerce să acceseze elementul cu indexul 5, care nu
există.
int i;
int a;
for(i=0,a=5;i<10;i++,a++)
System.out.println(i + ":" + a);
Bucla for va funcţiona chiar dacă nu sunt introduşi toţi cei trei
parametri. Următorul exemplu va fi, de asemenea, valid:
De exemplu:
int i = 0;
for(i=0;i<10;i++)
System.out.println(i);
for(int i=0;i<10;i++)
for(int u=0;u<10;u++)
System.out.println(u);
În mod clar, acest exemplu va scrie variabila „u“ de 100 de ori. Însă,
cât va fi variabila i în fiecare moment al execuţiei?
Deoarece bucla „i“ este o buclă externă, iar bucla „u“ se execută în
interiorul ei, de fiecare dată când se face o iteraţie a buclei „i“, se va
face şi ciclul complet al buclei „u“:
şi aşa mai departe până la ultima iteraţie a buclei “ i“ când întregul său
ciclu se va termina.
for(i=10;i>0;i--) System.out.println(i);
Bucla foreach
for(int i=0;i<10;i++)
{
if(i>5) i=10;
System.out.println(i);
}
Celălalt mod (modul corect) este prin folosirea cuvântului cheie Break.
Am cunoscut acest cuvânt în lecţia precedentă, când am spus că
acesta opreşte necondiţionat blocul de cod:
for(int i=0;i<10;i++)
{
if(i>5) break;
System.out.println(i);
}
Prin folosirea acestui cuvânt cheie, bucla noastră nu a pierdut prea
mult din dimensiuni, dar totuşi obţine multe din punctul de vedere al
dinamicii, pentru că acum nu mai trebuie să ştim valoarea finală a
buclei.
for(int i=0;i<10;i++)
{
System.out.print("\n" + i + ":");
for(int u=0;u<10;u++)
{
System.out.print(u);
if(u==5)
break;
}
}
Dacă pornim acest exemplu, se vor scrie zece rânduri, unde fiecare
dintre ele va conţine cifrele de la 0 la 5. Acest lucru este logic, pentru
că de fiecare dată când numărătorul iteraţiilor buclei interioare ajunge
la cinci, acesta se opreşte, în timp ce bucla exterioară continuă să
lucreze.
for(member=0;member<1000000;member++)
{
if(member!="teacher")
continue;
// logic that reads data
//......
}
for(int i=0;i<10;i++)
{
if(i==5)
continue;
System.out.print(i);
}