Catene Else If in Java
Scorri per mostrare il menu
Finora, le istruzioni if-else funzionano bene quando sono necessari solo due risultati. Tuttavia, nei sistemi reali, le decisioni sono solitamente più articolate.
Ad esempio, una caffetteria potrebbe avere diversi livelli di premi a seconda di quanti articoli vengono ordinati:
- ordini piccoli non ricevono nulla di extra;
- ordini medi ricevono un piccolo bonus;
- ordini grandi ricevono una ricompensa maggiore;
- ordini molto grandi possono sbloccare un'offerta speciale.
Qui entrano in gioco le catene else if — permettono di verificare più condizioni una dopo l'altra. Il programma procede dall'alto verso il basso e, non appena trova una condizione che è true, esegue quel blocco e ignora tutto il resto.
Struttura
if (condition1) {
// runs if condition1 is true
} else if (condition2) {
// runs if condition2 is true
} else {
// runs if none are true
}
Solo un blocco verrà eseguito — vince la prima condizione che corrisponde.
Esempio
Main.java
123456789101112131415161718package com.example; public class Main { public static void main(String[] args) { int deliveryDistance = 7; if (deliveryDistance > 20) { System.out.println("Delivery fee: 10€"); } else if (deliveryDistance > 10) { System.out.println("Delivery fee: 5€"); } else if (deliveryDistance > 5) { System.out.println("Delivery fee: 2€"); } else { System.out.println("Free delivery"); } } }
Si confronta deliveryDistance con ciascuna condizione dall'alto verso il basso. Poiché 7 non è maggiore di 20 o 10, ma è maggiore di 5, il terzo blocco corrisponde e stampa "Delivery fee: 2€". L'else in fondo verrebbe eseguito solo se nessuna delle condizioni fosse soddisfatta.
È molto importante capire che l'ordine è fondamentale. Poiché Java si ferma alla prima condizione true, occorre strutturare i controlli dalla più restrittiva alla più generale — altrimenti una condizione più ampia potrebbe intercettare valori destinati a una regola più specifica.
Considera le catene else if come una scala decisionale — il programma scende gradino dopo gradino fino a trovare la corrispondenza corretta.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione