Documente Academic
Documente Profesional
Documente Cultură
Bucla for se foloseşte atunci când ştim în prealabil exact de câte ori
trebuie să se execute un bloc de comenzi. Bucla aceasta are
următoarea sintaxă:
Însă, dacă după acest bloc mai adăugăm o linie în care prezentăm
valoarea variabilei numărător (counter), se va produce o eroare pentru
că variabila counter a fost declarată şi iniţializată în interiorul buclei.
int counter;
for (counter=0;counter<5;counter++) {
System.out.println(counter);
}
System.out.println(counter);
De exemplu:
Şirul creat mai sus are cinci elemente; indexurile 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);
for(i=0;i<10;) System.out.println(i++);
De exemplu:
for(i=1;i>0;) System.out.println(i++);
Fiţi atenţi, fiindcă valorile buclei vor rămâne şi după executarea buclei.
Astfel, dacă scrieţi:
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);
Acest exemplu, în mod clar, va scrie variabila de 100 de ori. Însă, cât
va fi variabila i în fiecare moment de executare?
ş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
este bine uneori, dar uneori nu este bine, fiindcă atunci când lucrăm
cu foreach, nu gestionăm membrii şirului explicit prin indexurile lor, ci
obţinem doar valorile lor. Astfel, putem spune că foreach este bună
atunci când dorim o citire rapidă şi simplă a unui şir, dar nu şi pentru
orice intervenţii mai serioase asupra şirului.
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.
for(int i=0;i<10;i++)
{
if(i>5) break;
System.out.println(i);
}
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ă iniţiăm acest exemplu, se vor scrie zece rânduri, în care fiecare
dintre ele va conţine cifrele de la 1 la 5. Logic, pentru că de fiecare
dată când numărătorul iteraţiei buclei interioare ajunge la cinci,
aceasta se opreşte. În plus, bucla exterioară continuă să lucreze.
durează 5 secunde.
for(member=0;member<1000000;member++)
{
if(member!="profesor")
continue;
//CODUL IMENS CARE CITE?TE TOATE CELELALTE DATE DESPRE
MEMBRUL LISTEI
//......
}
for(int i=0;i<10;i++)
{
if(i==5)
continue;
System.out.print(i);
}
Exerciţiu 1
Problemă:
Cu ajutorul buclei for, trebuie să copiem acest şir în şirul şir1, unde toţi
membrii cu valoarea -1 trebuie înlocuiţi prin membrii cu valoarea zero.
Şir1 trebuie afişat apoi la ieşire.
Rezolvare:
Exerciţiu 2
Problemă:
Rezolvare: