
GUIDE PER ASPIRANTI PROGRAMMATORI
Istruzioni condizionali in Java
Nel mondo della programmazione informatica, la capacità di controllare il flusso di esecuzione di un programma è fondamentale per costruire applicazioni dinamiche e interattive. Le istruzioni condizionali permettono ai programmatori di specificare blocchi di codice che dovrebbero essere eseguiti solo quando certe condizioni sono soddisfatte. In Java, come in molti altri linguaggi di programmazione, le…


Vuoi avviare una nuova carriera o fare un upgrade?
Trova il corso Digital & Tech più adatto a te nel nostro catalogo!
Nel mondo della programmazione informatica, la capacità di controllare il flusso di esecuzione di un programma è fondamentale per costruire applicazioni dinamiche e interattive. Le istruzioni condizionali permettono ai programmatori di specificare blocchi di codice che dovrebbero essere eseguiti solo quando certe condizioni sono soddisfatte. In Java, come in molti altri linguaggi di programmazione, le istruzioni condizionali principali sono if, else e switch-case. In questa lezione, esploreremo queste istruzioni condizionali e vedremo come possono essere utilizzate per dirigere il flusso di controllo all’interno di un programma.
If in Java
L’istruzione ‘if’ rappresenta il blocco condizionale più elementare ed essenziale. Esso verifica una condizione e, se questa risulta vera, il blocco di codice all’interno dell’istruzione ‘if’ viene eseguito. Se la condizione è falsa, il blocco di codice viene ignorato. Per gestire anche il caso in cui la condizione è falsa, si può estendere la struttura condizionale utilizzando l’istruzione ‘else’. In questo modo, si può specificare un blocco di codice da eseguire quando la condizione è falsa.
if (a > 5) { System.out.println("a è maggiore di 5"); } else { System.out.println("a non è maggiore di 5"); }
In questo scenario, il programma esamina se la variabile ‘a’ è maggiore di 5. Se la condizione è soddisfatta, il programma restituirà la frase “a è maggiore di 5“; in caso contrario, verrà visualizzata la frase “a non è maggiore di 5“.
Esercizio con operatori e if in Java
Supponiamo di avere un negozio e di voler applicare sconti ai clienti in base all’importo totale della loro spesa. Gli sconti saranno applicati come segue:
- Se la spesa è inferiore a €50, non viene applicato alcuno sconto.
- Se la spesa è uguale o superiore a €50, viene applicato uno sconto del 20%.
public class CalcolatoreSconto { public static void main(String[] args) { float spesaTotale = 120; // Imposta l'importo totale della spesa float sconto = 0; float spesaDopoSconto = 0; if (spesaTotale < 50) { sconto = 0; } else{ sconto = spesaTotale * 0.20f; // Sconto del 20% } spesaDopoSconto = spesaTotale - sconto; System.out.println("Importo sconto: €" + sconto); System.out.println("Importo dopo sconto: €" + spesaDopoSconto); } }
Suggerimento: per il momento, stiamo mettendo da parte l’interpretazione di ‘public class‘ e ‘public static void main‘, focalizzandoci esclusivamente sul resto del codice. È importante notare, tuttavia, che l’esecuzione del programma prende il via dal metodo main, proseguendo, riga per riga, dall’alto verso il basso a meno che il flusso non venga deviato da, per esempio, errori nel codice. Questo implica che operazioni quali la dichiarazione delle variabili debbano essere effettuate obbligatoriamente prima del loro utilizzo nel codice.
Spiegazione: nella prima fase del codice abbiamo dichiarato tre variabili utilizzando il tipo float in modo da rendere ammissibili anche risultati con la virgola e abbiamo assegnato loro dei valori, tra cui anche l’importo della spesa effettuata.
float spesaTotale = 120; // Imposta l'importo totale della spesa float sconto = 0; float spesaDopoSconto = 0;
Nella seconda fase abbiamo verificato lo sconto spettante per la nostra spesa; nella prima condizione ‘if’ verifichiamo che la spesa sia minore di 50 e, se questa affermazione si dimostra vera, lo sconto applicato sarà di 0; se questo, però, non dovesse essere vero – come nel nostro caso, – il programma passerà al ‘else’ il quale calcolerà lo sconto facendo facendo l’operazione ‘sconto = 120 * 0.20’.
if (spesaTotale < 50) { sconto = 0; } else{ sconto = spesaTotale * 0.20f; // Sconto del 20% (se facciamo calcoli con i float dobbiamo ricordarci di inserire la f alla fine del numero) }
Nella parte conclusiva del codice, calcoliamo l’importo della variabile ‘spesaDopoSconto’ sottraendo l’importo dello sconto determinato in precedenza, dall’importo totale della spesa. Successivamente, vengono visualizzati sia l’importo dello sconto (che in questo caso ammonta a €24) sia l’importo finale da pagare dopo l’applicazione dello sconto (che in questo caso è di €96).
spesaDopoSconto = spesaTotale - sconto; System.out.println("Importo sconto: €" + sconto); System.out.println("Importo dopo sconto: €" + spesaDopoSconto);
Attraverso questo esercizio, abbiamo esplorato come gli operatori aritmetici e le strutture di controllo come if e else possano essere utilizzati in un contesto pratico per risolvere problemi reali. In particolare, abbiamo visto come calcolare sconti in base all’importo speso, una situazione comune che potrebbe presentarsi in molti ambiti, non solo nel contesto di un negozio.
Switch-case in Java
L’istruzione switch-case è un’alternativa all’uso di molteplici istruzioni if-else quando si hanno diverse condizioni da verificare che dipendono dal valore di una singola variabile. Mentre l’if-else è più flessibile e può valutare una vasta gamma di condizioni, lo switch-case è generalmente più leggibile e organizzato quando si confrontano le stesse variabili con valori specifici e definiti.
public class Main { public static void main(String[] args) { int day = 3; switch (day) { case 1: System.out.println("Monday"); break; case 2: System.out.println("Tuesday"); break; case 3: System.out.println("Wednesday"); break; case 4: System.out.println("Thursday"); break; case 5: System.out.println("Friday"); break; case 6: System.out.println("Saturday"); break; case 7: System.out.println("Sunday"); break; } } }
Quando ‘giorno’ è impostato a 3, il codice passerà attraverso lo switch e raggiungerà il ‘case 3’, dove stamperà “Wednesday” e, poi, uscirà dallo switch a causa del break (che verrà trattato in seguito in modo più dettagliato). Non raggiungerà gli atri case o il default perché il break impedisce di continuare nell’esecuzione dei casi successivi .Nel linguaggio Java, l’operatore switch è stato migliorato nelle versioni più recenti per supportare i tipi String rendendo lo strumento più potente e flessibile.
CONTENUTI GRATUITI IN EVIDENZA
Guide per aspiranti programmatori 👨🏻🚀
Vuoi muovere i primi passi nel Digital e Tech? Abbiamo preparato alcune guide per aiutarti a orientarti negli ambiti più richiesti oggi.