Salta al contenuto principale

Dichiarazioni Condizionali in Java

Profile picture for user luca77king

Le dichiarazioni condizionali sono una delle strutture a controllo più importanti in Java, utilizzate per eseguire un codice specifico solo se una certa condizione risulta vera. In questo articolo, ci occuperemo delle diverse forme di dichiarazioni condizionali presenti nel linguaggio Java e delle loro possibili applicazioni.

La forma più comune di dichiarazione condizionale in Java è la sentinella if-else. Questa struttura a controllo consente di eseguire un blocco di codice se una certa condizione risulta vera, oppure un diverso blocco di codice se la condizione è false.

Ecco l'aspetto generale della sentinella if-else in Java:

if (condizione) {
    // codice eseguito se la condizione è vera
} else {
    // codice eseguito se la condizione è falsa
}

La condizione nel gestore del flusso if-else può essere una qualunque espressione booleana, come ad esempio una comparazione tra due valori o una chiamata a un metodo che restituisce un valore booleano. Se la condizione è verificata, il codice all'interno della clausola if viene eseguito. Altrimenti, viene eseguito il codice all'interno della clausola else.

Ad esempio, consideriamo un caso in cui vogliamo stampare un messaggio sulla console solo se una certa condizione risulta vera:

int x = 5;
if (x > 10) {
    System.out.println("Il valore di x è maggiore di 10");
} else {
    System.out.println("Il valore di x non è maggiore di 10");
}

In questo esempio, la condizione if(x > 10) è verificata solo se il valore di x è maggiore di 10. Se il valore di x è inferiore o uguale a 10, la clausola else viene eseguita e si stampa un messaggio sulla console.

La sentinella if-else può essere anche estesa con una clausola else-if per aggiungere ulteriori condizioni da verificare. Ecco l'aspetto generale di questa forma di sentinella:

if (condizione1) {
    // codice eseguito se la condizione 1 è vera
} else if (condizione2) {
    // codice eseguito se la condizione 1 è falsa e la condizione 2 è vera
} else {
    // codice eseguito se entrambe le condizioni sono false
}

In questo caso, il codice all'interno della clausola if viene eseguito solo se la condizione 1 è verificata. Se la condizione 1 è falsa, il codice all'interno della clausola else-if viene eseguito solo se la condizione 2 è vera. Se entrambe le condizioni sono false, viene eseguito il codice all'interno della clausola else.

Ad esempio, consideriamo un caso in cui vogliamo stampare un messaggio sulla console in base al valore di una variabile:

int x = 5;
if (x > 10) {
    System.out.println("Il valore di x è maggiore di 10");
} else if (x == 5) {
    System.out.println("Il valore di x è uguale a 5");
} else {
    System.out.println("Il valore di x non è maggiore di 10 e non è uguale a 5");
}

In questo esempio, la sentinella if-else-if verifica se il valore di x è maggiore di 10. Se false, verifica se il valore di x è uguale a 5. Se neppure queste condizioni sono verificate, si stampa un messaggio sulla console.

La forma più avanzata di dichiarazione condizionale in Java è la sentinella switch-case. Questa struttura a controllo consente di eseguire un blocco di codice specifico per ogni valore di una variabile che può essere uno dei valori elencati nella clausola case.

Ecco l'aspetto generale della sentinella switch-case in Java:

switch (espressione) {
    case valore1:
        // codice eseguito se l'espressione è uguale a valore1
        break;
    case valore2:
        // codice eseguito se l'espressione è uguale a valore2
        break;
    ...
    default:
        // codice eseguito se nessuna delle condizioni precedenti è vera
        break;
}

La variabile nella sentinella switch-case deve essere di tipo numerico o un enumerazione. La clausola case specifica i valori possibili per la variabile e il codice da eseguire in base a questi valori.

Ad esempio, consideriamo un caso in cui vogliamo stampare un messaggio sulla console in base al valore di una variabile:

int giornoSettimana = 3;
switch (giornoSettimana) {
    case 1:
        System.out.println("Il giorno della settimana è lunedì");
        break;
    case 2:
        System.out.println("Il giorno della settimana è martedì");
        break;
    case 3:
        System.out.println("Il giorno della settimana è mercoledì");
        break;
    default:
        System.out.println("Giorno non specificato");
        break;
}

In questo esempio, la sentinella switch-case verifica il valore di giornoSettimana e stampa un messaggio sulla console in base a quel valore.

In conclusione, le dichiarazioni condizionali sono una delle strutture a controllo più importanti in Java. Le sentinelle if-else e if-else-if consentono di eseguire un codice specifico solo se una certa condizione risulta vera, mentre la sentinella switch-case consente di eseguire un codice specifico per ogni valore di una variabile che può essere uno dei valori elencati nella clausola case. Queste strutture sono utilizzate in molti casi in Java e possono aiutare a creare programmi più efficienti e più facili da leggere e mantenere.