Nos empezamos a adentrar a las estructuras de control o condicionales (if, if else, for…) como introducción vamos a comenzar mostrando el funcionamiento del poco conocido operador ternario.

Vamos a dividir la explicación en dos partes la teórica, donde explicamos el funcionamiento de operador ternario y finalmente la parte práctica.

Teoría de operador ternario ?: en Java

Las estructuras de control nos permiten modificar el flujo de ejecución de las instrucciones de un programa en Java. Esto realmente significa que tenemos varios caminos por donde mandar al programa según unas condiciones y que estos caminos tendrán resultados diferentes.


Bien imaginaros que sois un portero en una discoteca (aunque ya sé que preferís la programación) y vuestro jefe os dice que en la discoteca solo pueden entrar personas que sean mayores de edad (por tanto nos está especificando una condición: edad >=18). Os empiezan a venir niños de entre 16 y 25 años intentado acceder a vuestra discoteca. El operador ternario, se caracteriza por tener dos caminos Verdadero y Falso. Si los jóvenes son mayores de edad, la condición es verdadera, los dejaréis pasar a la discoteca, en el caso del programa, nos mostrará el primer resultado (el que tiene ? al principio) que nos indica que somos mayores de edad. Si la condición es Falsa, nos mostrará el segundo resultado (el que tiene : al principio), el que nos indica que somos menores de edad.

Una vez analizado, ya habéis podido comprobar que esto no tiene ni trampa ni cartón. Y que con un simple ejemplo cotidiano hemos hecho lo mismo que con el operador ternario.

Para realizar una operación con un operador ternario utilizamos:

  • Una condición que comparará los valores. En este caso la condición tiene al lado izquierdo la variable edad de tipo (int) y al lado derecho un valor numérico. Más adelante incluso podremos interactuar con el usuario desde la consola solicitando que nos introduzca un valor por la consola (lo veremos en próximas clases).

  • 2 caminos por los que puedan continuar dependiendo del resultado de la comprobación que hemos hecho. Una cosa a matizar es que una de las características de este operador es que solo puede tener 2 caminos NO más.
  • Un System.out.print para mostrarlo por la consola de Java.
  • La utilización del operador ?: donde ? irá delante de la primera condición y : delante de la segunda condición (no hace falta poner ni símbolos de más de concatenar ni nada a excepción de que queramos concatenar variables con texto en uno de los caminos).

Os dejo el código como siempre por aquí: