Salt la conținutul principal
Modulul 1 · Lecția 2 din 22/14 în curs~12 min
Lecții din modul (2/2)

Controlul fluxului

Pentru a face programele noastre dinamice și capabile de a lua decizii, folosim structuri de flux de control: instrucțiuni și bucle condiționate.

Condiționale: if, else if și else

Instrucțiunea if execută un bloc de cod numai dacă o anumită condiție booleană este adevărată.

Java
int temperature = 25;

if (temperature > 30) {
    System.out.println("Fa molto caldo!");
} else if (temperature >= 20) {
    System.out.println("Il clima è piacevole.");
} else {
    System.out.println("Fa freddo.");
}

Operatori logici

Putem combina mai multe condiții folosind operatori logici:

  • && (ȘI): returnează true dacă ambele condiții sunt adevărate.
  • || (OR): returnează true dacă cel puțin una dintre condiții este adevărată.
  • ! (NU): inversează valoarea logică a condiției.
Java
boolean hasLicense = true;
boolean hasCar = false;

if (hasLicense && hasCar) {
    System.out.println("Puoi guidare.");
}

Bucle: while și for

Buclele ne permit să executăm în mod repetat un bloc de cod.

Bucla while

Execută codul atâta timp cât condiția specificată rămâne true.

Java
int count = 1;
while (count <= 3) {
    System.out.println("Conteggio: " + count);
    count++; // Increment count by 1
}

Bucla for

Ideal atunci când știm dinainte numărul de iterații de efectuat. Sintaxa necesită inițializare, o condiție de terminare și o expresie de increment.

Java
for (int i = 0; i < 5; i++) {
    System.out.println("Iteration: " + i);
}

Condiționale avansate: switch

Când trebuie să comparăm o singură variabilă cu mai multe valori constante, declarația switch face codul mult mai curat decât blocurile multiple if-else înlănțuite.

Java
int dayOfWeek = 3;
switch (dayOfWeek) {
    case 1:
        System.out.println("Monday");
        break;
    case 2:
        System.out.println("Tuesday");
        break;
    case 3:
        System.out.println("Wednesday");
        break;
    default:
        System.out.println("Other day");
}

Control buclei: break și continue

Putem modifica fluxul normal al unei bucle folosind două instrucțiuni speciale:

  • break: încetează imediat execuția celei mai interioare bucle, ieșind din ea complet.
  • continue: omite restul codului din iterația curentă și trece direct la evaluarea condiției pentru următoarea iterație (sau expresia de increment într-o buclă for).
Java
for (int i = 1; i <= 5; i++) {
    if (i == 3) {
        continue; // Skips printing for the number 3
    }
    System.out.println(i);
}

Încercați-l singur

Exercițiu#java.m1.l2.e1
Încercări: 0Se încarcă…

Completați codul verificând variabila scor: dacă este mai mare sau egală cu 60, imprimați Pass, altfel imprimați Fail.

Se încarcă editorul...
Afișează indiciu

Folosiți `if (score >= 60) { ... } else { ... }` și imprimați șirul exact solicitat.

Soluție disponibilă după 3 încercări

Exercițiu#java.m1.l2.e2
Încercări: 0Se încarcă…

Scrieți o buclă for pentru a imprima numerele de la 1 la 5 (inclusiv) pe rânduri separate.

Se încarcă editorul...
Afișează indiciu

Utilizați inițializarea `int i = 1`, condiția `i <= 5` și incrementați `i++` în interiorul antetului buclei `for`.

Soluție disponibilă după 3 încercări

Exercițiu#java.m1.l2.e3
Încercări: 0Se încarcă…

Completați codul folosind o buclă while pentru a imprima numerele de la 3 la 1 (inclusiv) pe rânduri separate.

Se încarcă editorul...
Afișează indiciu

Scrieți `while (count >= 1) { ... }` printing `count` și apoi decrementați-l folosind `count--;`.

Soluție disponibilă după 3 încercări