Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Istruzioni Switch in Java | Operatori e Condizionali
Introduzione a Java

Istruzioni Switch in Java

Scorri per mostrare il menu

Finora, if, else ed else if sono stati gli strumenti principali per gestire situazioni diverse. Funzionano molto bene per verificare condizioni, intervalli o confronti.

Ma a volte non stiamo confrontando intervalli — vogliamo solo controllare una variabile rispetto a diversi valori esatti. Ad esempio:

  • un cliente sceglie un metodo di pagamento;
  • un ordine di caffè ha un tipo di ritiro specifico;
  • un membro fedeltà seleziona un livello di premio.

In questi casi, le istruzioni switch sono utili — confrontano un valore con molteplici corrispondenze esatte in modo più chiaro e organizzato.

Struttura

switch (variable) {
    case "value1" -> {
        // code
    }

    case "value2" -> {
        // code
    }

    default -> {
        // fallback code
    }
}

Java controlla ogni case uno per uno fino a trovare una corrispondenza.

Esempio

Main.java

Main.java

1234567891011121314151617181920212223242526
package com.example; public class Main { public static void main(String[] args) { String pickupType = "delivery"; switch (pickupType) { case "pickup": System.out.println("Your coffee will be ready at the counter"); break; case "delivery": System.out.println("Your coffee is on the way"); break; case "dine-in": System.out.println("Enjoy your coffee inside the cafe"); break; default: System.out.println("Unknown order type"); break; } } }

Java controlla pickupType caso per caso — "pickup" non corrisponde, "delivery" sì, quindi stampa "Your coffee is on the way" e il break interrompe immediatamente lo switch. Il blocco default in fondo funziona come un ultimo else — viene eseguito solo quando nessun caso corrisponde.

Java 14+ — Nuova sintassi dello switch

In Java 14 e versioni successive, è stata introdotta una nuova sintassi che utilizza la freccia ->:

switch (pickupType) {
    case "pickup" -> System.out.println("Your coffee will be ready at the counter");
    case "delivery" -> System.out.println("Your coffee is on the way");
    case "dine-in" -> System.out.println("Enjoy your coffee inside the cafe");
    default -> System.out.println("Unknown order type");
}

Cosa è cambiato:

  • non è necessario il break;
  • utilizza -> invece di :;
  • ogni caso è automaticamente isolato — nessun rischio di fall-through;
  • sintassi più pulita e facile da leggere.

Entrambe le versioni funzionano allo stesso modo — la nuova sintassi è semplicemente più moderna e sicura.

Regola utile da ricordare:

  • Usare if / else if per confronti e intervalli;
  • Usare switch quando si controlla un valore rispetto a molte opzioni esatte;
question mark

Qual è lo scopo dell'istruzione break all'interno di uno switch?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 6

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 3. Capitolo 6
some-alt