0Pricing
Java Academy · Lezione

Annidare gli operatori ternari

Concateni le decisioni con attenzione

Annidare gli operatori ternari è una lezione Java Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Java Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Java Academy include 4 lezioni in totale.

Cos'è un ternario annidato?

Un ternario annidato inserisce un altro ternario all'interno di uno dei suoi rami.

In questo modo può scegliere tra tre o più risultati anziché soltanto due.

Il risultato è una catena di condizioni, valutate da sinistra a destra.

int score = 75;
String grade = score >= 90 ? "A" : score >= 80 ? "B" : "C";

Come viene raggruppato

Il ternario è associativo a destra. Ciò significa che il ramo falso ingloba il resto della catena.

Quindi a ? x : b ? y : z viene interpretato come a ? x : (b ? y : z).

Ogni : passa il controllo alla condizione successiva.

// reads as: a ? x : (b ? y : z)
String r = false ? "x" : true ? "y" : "z"; // r = "y"

Una scelta tra tre possibilità

Qui un numero viene classificato come negativo, zero o positivo.

La prima condizione verifica se è negativo; il suo ramo falso controlla se è zero oppure positivo.

public class Main {
    public static void main(String[] args) {
        int n = 0;
        String sign = n < 0 ? "negative" : n == 0 ? "zero" : "positive";
        System.out.println(sign);
    }
}

Esempio di valutazione

Un uso classico consiste nel mappare un punteggio su una valutazione alfabetica.

Ogni condizione viene controllata nell'ordine finché una non risulta vera, quindi viene restituita la lettera corrispondente.

public class Main {
    public static void main(String[] args) {
        int score = 83;
        String grade = score >= 90 ? "A"
            : score >= 80 ? "B"
            : score >= 70 ? "C" : "F";
        System.out.println(grade);
    }
}

L'ordine è importante

Le condizioni vengono verificate dall'alto verso il basso, quindi inserisca per prima quella più specifica o con l'intervallo più alto.

Se verificasse score >= 70 prima di score >= 90, un punteggio di 95 si fermerebbe erroneamente al primo risultato.

// wrong order: 95 would match >= 70 first
int score = 95;
String g = score >= 70 ? "C" : score >= 90 ? "A" : "F"; // g = "C"!

Aggiungere parentesi per chiarezza

Java non richiede le parentesi, ma queste rendono evidente l'annidamento a chi legge.

Racchiudere ogni ternario interno mostra esattamente come vengono associati i rami.

int n = 5;
String s = n < 0 ? "neg" : (n == 0 ? "zero" : "pos");

Formattare su più righe

Le catene lunghe sono più leggibili quando ogni condizione occupa la propria riga.

Allinei i caratteri ? e : in modo che la struttura assomigli a una scala.

public class Main {
    public static void main(String[] args) {
        int temp = 22;
        String label = temp >= 30 ? "hot"
            : temp >= 20 ? "warm"
            : temp >= 10 ? "cool"
            : "cold";
        System.out.println(label);
    }
}

Annidare nel ramo vero

Può anche annidare un ternario nel ramo vero, anche se è meno comune e più difficile da leggere.

Quando lo fa, è fortemente consigliato usare le parentesi per evitare ambiguità.

boolean a = true, b = false;
String r = a ? (b ? "both" : "only a") : "neither";

Restituire un ternario annidato

Un metodo può restituire un risultato tra più possibilità con un unico ternario annidato.

Rimane leggibile per tre o quattro casi, ma diventa disordinato oltre questo limite.

public class Main {
    static String size(int len) {
        return len < 5 ? "short" : len < 10 ? "medium" : "long";
    }
    public static void main(String[] args) {
        System.out.println(size(7));
    }
}

Sapere quando fermarsi

Due livelli di annidamento sono generalmente accettabili. Tre o più diventano spesso difficili da seguire.

Quando una catena diventa lunga, una sequenza if/else if o uno switch sono più chiari e facili da correggere.

Seguire una catena

Segua manualmente questa catena: con day = 6, la prima condizione è falsa e la seconda è vera.

Il risultato è quindi "Saturday", senza controllare il resto.

public class Main {
    public static void main(String[] args) {
        int day = 6;
        String name = day == 7 ? "Sunday"
            : day == 6 ? "Saturday" : "Weekday";
        System.out.println(name);
    }
}

Verifica rapida

Verifichi come vengono raggruppati i ternari annidati.

Riepilogo

I ternari annidati concatenano condizioni per scegliere tra tre o più valori.

Sono associativi a destra, quindi il ramo falso assorbe il resto; ordini attentamente le condizioni.

Aggiunga parentesi e interruzioni di riga per maggiore chiarezza e passi a if/else quando le catene diventano lunghe.

Domande Frequenti

La lezione «Annidare gli operatori ternari» è gratuita?

Sì — il testo completo di «Annidare gli operatori ternari» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Java Academy, passa a CoddyKit PRO. Il corso Java Academy include 4 lezioni in totale.

Cosa imparerò in «Annidare gli operatori ternari»?

Concateni le decisioni con attenzione Eserciti Java Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Java Academy?

Non è richiesta alcuna esperienza precedente. Java Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Annidare gli operatori ternari»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Java Academy?

Sì. Ogni lezione Java Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. L'operatore ternario
  2. Annidare gli operatori ternari
  3. Ternario e if/else
  4. Problemi di leggibilità
← Torna a Java Academy