Operador ternario en Java

🧰 Operador ternario en Java

En este tutorial vamos a ver el operador ternario en Java.

Vamos a continuar con el ejemplo del último tutorial: tenemos una variable ingreso (imagina que es el ingreso de nuestros clientes).

Dependiendo del ingreso, queremos poner a los clientes en diferentes clases:

  • Si el ingreso es mayor que 100,000 → clase “Primera”
  • Si no → clase “Economica”

🧪 Forma clásica con if/else

Aquí hay una manera de implementar este escenario:

public class Main{
    public static void main(String[] args){
        int ingreso = 120_000;
        String nombreClase;

        if (ingreso > 100_000)
            nombreClase = "Primera";
        else
            nombreClase = "Economica";

        System.out.println(nombreClase);
    }
}

✅ Funciona… pero se ve un poquito “amateur” 😅

✅ Mejora: dar un valor inicial

Una forma de mejorar esto es dar un valor inicial:

Asumimos que el cliente es “Economica” y solo cambiamos si se cumple la condición.

public class Main{
    public static void main(String[] args){
        int ingreso = 130_000;
        String nombreClase = "Economica";

        if (ingreso > 100_000)
            nombreClase = "Primera";

        System.out.println(nombreClase);
    }
}

✅ Ya no necesitamos else. Pero… todavía se puede hacer más limpio.

🤔 ¿Por qué no podemos hacer lo del booleano?

En el tutorial anterior hicimos algo así:

boolean alto_ingreso = (ingreso > 100_000);

Eso funciona porque a la izquierda hay un boolean y a la derecha una expresión booleana.

Pero acá… a la izquierda tenemos un String. Entonces necesitamos una forma de decir:

“Si la condición es true, devuelve este texto; si no, devuelve este otro.”

Y ahí es donde entra el ternario 😎

✨ Operador ternario ? :

La estructura es:

condición ? valor_si_true : valor_si_false

Así que el ternario tiene tres piezas:

  1. Una condición
  2. El valor si la condición es verdadera
  3. El valor si la condición es falsa

✅ Versión pro con ternario

public class Main{
    public static void main(String[] args){
        int ingreso = 130_000;
        String nombreClase = (ingreso > 100_000) ? "Primera" : "Economica"; // ternaria
        System.out.println(nombreClase);
    }
}

🎯 Si ingreso > 100_000 es true"Primera" Si no → "Economica"

Y listo: sin if, súper claro, súper útil.

🧠 Tip mental

👜 Pon el ternario en tu “bolsa de herramientas”.

Úsalo cuando quieras decidir entre dos valores de forma rápida y limpia.