
Probabil ai întâlnit instrucțiunile break și continue într-un program în Java sau poate chiar într-un program scris în alt limbaj de programare. Știi care este rolul acestor instrucțiuni? Dacă da, te felicit! Dacă nu, îți voi explica pas cu pas!
Instrucțiunile break și continue sunt folosite doar în interiorul unor instrucțiuni condiționale (cum sunt if și switch), iar aceste instrucțiuni condiționale (mai precis doar if) trebuie să fie în cadrul unor bucle (precum for, while). În caz contrar, nu au niciun sens.
Hai să dau câte o definiție pentru fiecare instrucțiune, apoi trec la partea explicativă și las câteva exemple.
- Definiție: instrucțiunea break are ca scop ieșirea completă din bucla curentă.
- Definiție: instrucțiunea continue are ca scop ieșirea din iterația curentă, dar continuă cu următoarea iterație din bucla curentă.
Poate te întrebi ce este o buclă… Ei bine, într-un limbaj de programare, o buclă este o structură de control care permite executarea repetitivă a unui bloc de cod, atât timp cât este îndeplinită condiția. Precizez și faptul că fiecare buclă are o condiție.
Îți recomand să lecturezi următoarele articole:
- Instrucțiunea for în Java
- Instrucțiunea while în Java
- Instrucțiunea switch în Java
- Instrucțiunea if în Java
Instrucțiunea break 🔗
Instrucțiunea break este una foarte des întâlnită în toate limbajele de renume, precum C, C++, C#, Python, PHP, JavaScript, iar principalul rol al acestei instrucțiuni este acela de a „sparge” lanțul unei bucle. Practic și teoretic, când vezi instrucțiunea break, trebuie să urmărești condiția de dinainte.
Din momentul în care condiția devine adevărată, se iese imediat din buclă (sau din ciclul respectiv).
Voi da câte un exemplu cu break folosind instrucțiunea switch și instrucțiunea for. Pentru switch, break e la fel de important precum este volanul la mașină (sau SEO pentru un site web).
Exemplu cu break într-un switch
int a = 2;
switch(a) {
case 1:
System.out.println("Numărul 1");
break;
case 2:
System.out.println("Numărul 2");
break;
case 3:
System.out.println("Numărul 3");
break;
default:
System.out.println("Niciun număr bun");
}
Ce facem în codul de mai sus? Am definit o variabilă cu valoarea 2, apoi intrăm în instrucțiunea switch și trecem la verificat fiecare caz. Dacă un caz „pușcă” cu valoarea de la variabila din switch, atunci intrăm în cazul respectiv.
În exemplul dat, intrăm în cazul care are numărul 2, iar din acest motiv programul va afișa textul „Numărul 2”. Doar atât? Da. De ce? Pentru că avem instrucțiunea break care întrerupe programul. Dacă nu puneam instrucțiunea break, programul „o lua la vale” și afișa tot până la final.
Instrucțiunea break este eminamente esențială într-un switch! Doar la cazul implicit (default) nu este nevoie să pui break (frână), în rest, fiecare caz are nevoie de break.
Exemplu cu break într-un for
Când folosim break într-un ciclu (sau într-o buclă), trebuie neapărat să avem și o instrucțiune condițională, iar cea mai întâlnită este instrucțiunea if.
Fii atent la exemplul următor!
for (int i = 0; i <= 3; i++) {
if (i == 2) {
break;
}
System.out.println(i);
}
/*
Output:
0
1
*/
Ce facem în acest exemplu? Avem bucla for, o buclă formată din următoarele elemente:
-
- int i = 0 👉 variabila de bază de la care pornește totul (are scop local)
- i <= 3 👉 condiția care stă la baza ciclului for (ciclul rulează cât timp condiția este adevărată)
- i++ 👉 după fiecare iterație, se incrementează cu 1 variabila de bază
În interiorul ciclului for am pus un if, dar cât timp variabila i nu este 2, se evită și se afișează valoarea sa. Astfel, programul afișează valorile 0 și 1, iar apoi iese din ciclu.
Așadar, instrucțiunea break are rolul de „frâna” sau mai bine spus, de a „sparge” o instrucțiune repetitivă.
Instrucțiunea continue 🔗
Instrucțiunea continue este un pic mai blândă decât break. De ce? Break „distruge” ciclul repetitiv, pe când continue este un pic mai îngăduitoare și „distruge” sau ignoră doar iterația curentă.
Dacă ar fi să facem psihologie, gândește-te că break este neiertător, iar continue iartă și trece mai departe. Iertarea este o abilitate rară, care ar putea vindeca o grămadă de răni dacă ar fi practicată. Ferice de tine dacă ierți chiar și-atunci când nu ești iertat!
Voi da câte un exemplu pentru instrucțiunile for și while.
Continue într-un exemplu cu for
Hai să luăm exemplul cu for de la break și să-l adaptăm.
for (int i = 0; i <= 3; i++) {
if (i == 2) {
continue;
}
System.out.println(i);
}
/*
Output:
0
1
3
*/
Ce afișează programul anterior? Afișează cifrele 0, 1 și 3. De ce nu și cifra 2? Pentru că atunci când variabila i devine 2 este adevărată condiția din if, iar în cadrul acestei instrucțiuni îl avem pe continue care ne spune „du-te, dom’le, mai departe”. Partea bună este că programul continuă, deci „petrecerea” nu se termină brusc.
Continue într-un exemplu cu while
Voi lua exemplul de mai sus și îl voi transforma într-un while. Se poate? Absolut!
int i = 0;
while (i <= 3) {
if (i == 2) {
i++;
continue;
}
System.out.println(i);
i++;
}
/*
Output:
0
1
3
*/
Ce zici de instrucțiunile break și continue? Au același rol în orice limbaj de programare popular. Unele limbaje mai vechi, precum BASIC și COBOL, au alternative pentru break și continue. Conceptul este același.
Învață să fii profesionist!