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ă.
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ătruedacă ambele condiții sunt adevărate.||(OR): returneazătruedacă cel puțin una dintre condiții este adevărată.!(NU): inversează valoarea logică a condiției.
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.
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.
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.
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).
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
Completați codul verificând variabila scor: dacă este mai mare sau egală cu 60, imprimați Pass, altfel imprimați Fail.
Afișează indiciu
Folosiți `if (score >= 60) { ... } else { ... }` și imprimați șirul exact solicitat.
Soluție disponibilă după 3 încercări
Scrieți o buclă for pentru a imprima numerele de la 1 la 5 (inclusiv) pe rânduri separate.
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
Completați codul folosind o buclă while pentru a imprima numerele de la 3 la 1 (inclusiv) pe rânduri separate.
Afișează indiciu
Scrieți `while (count >= 1) { ... }` printing `count` și apoi decrementați-l folosind `count--;`.
Soluție disponibilă după 3 încercări