Vai al contenuto
eLearner.app
Modulo 1 · Lezione 2 di 22/14 nel corso~12 min
Lezioni del modulo (2/2)

Controllo del flusso

Per rendere i nostri programmi dinamici e in grado di prendere decisioni, utilizziamo le strutture di controllo del flusso: le istruzioni condizionali e i cicli.

Condizionali: if, else if ed else

L'istruzione if esegue un blocco di codice solo se una determinata condizione booleana è vera.

Code
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

Possiamo combinare più condizioni usando gli operatori logici:

  • && (AND): Ritorna true se entrambe le condizioni sono vere.
  • || (OR): Ritorna true se almeno una delle condizioni è vera.
  • ! (NOT): Inverte il valore logico della condizione.
Code
boolean hasLicense = true;
boolean hasCar = false;

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

I Cicli: while e for

I cicli consentono di eseguire ripetutamente un blocco di codice.

Il Ciclo while

Esegue il codice finché la condizione specificata rimane true.

Code
int count = 1;
while (count <= 3) {
    System.out.println("Conteggio: " + count);
    count++; // Incrementa count di 1
}

Il Ciclo for

Ideale quando conosciamo in anticipo il numero di iterazioni da compiere. La sintassi richiede l'inizializzazione, la condizione di permanenza e l'espressione di incremento.

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

Condizionali Avanzati: lo switch

Quando dobbiamo confrontare una singola variabile con molteplici valori costanti, l'istruzione switch rende il codice molto più pulito rispetto a molti if-else concatenati.

Code
int dayOfWeek = 3;
switch (dayOfWeek) {
    case 1:
        System.out.println("Lunedì");
        break;
    case 2:
        System.out.println("Martedì");
        break;
    case 3:
        System.out.println("Mercoledì");
        break;
    default:
        System.out.println("Altro giorno");
}

Controllo dei Cicli: break e continue

Possiamo alterare il normale flusso di un ciclo usando due istruzioni speciali:

  • break: interrompe immediatamente l'esecuzione del ciclo più interno, uscendo da esso.
  • continue: salta il resto del codice nell'iterazione corrente e passa direttamente alla verifica della condizione successiva (o all'incremento nel ciclo for).
Code
for (int i = 1; i <= 5; i++) {
    if (i == 3) {
        continue; // Salta la stampa per il numero 3
    }
    System.out.println(i);
}

Prova tu

Esercizio#java.m1.l2.e1
Tentativi: 0Caricamento…

Completa il codice verificando la variabile score: se è maggiore o uguale a 60 stampa Pass, altrimenti stampa Fail.

Caricamento editor…
Mostra suggerimento

Usa `if (score >= 60) { ... } else { ... }` e stampa la stringa esatta richiesta.

Soluzione disponibile dopo 3 tentativi

Esercizio#java.m1.l2.e2
Tentativi: 0Caricamento…

Scrivi un ciclo for per stampare a schermo i numeri da 1 a 5 (inclusi) su righe separate.

Caricamento editor…
Mostra suggerimento

Usa l'inizializzazione `int i = 1`, la condizione `i <= 5` e l'incremento `i++` all'interno dell'intestazione del ciclo `for`.

Soluzione disponibile dopo 3 tentativi

Esercizio#java.m1.l2.e3
Tentativi: 0Caricamento…

Completa il codice usando un ciclo while per stampare a schermo i numeri da 3 a 1 (inclusi) in ordine decrescente su righe separate.

Caricamento editor…
Mostra suggerimento

Scrivi `while (count >= 1) { ... }` stampando `count` e poi decrementandolo con `count--;`.

Soluzione disponibile dopo 3 tentativi