Ternary Operator en Java: Cómo optimizar tus condicionales

Contenido del Bootcamp Dirigido por: | Última modificación: 2 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Si te has dado cuenta de que, al usar los condicionales tradicionales como if/else tu código se hace innecesariamente extenso, puede que necesites cambiar de enfoque y empezar a usar el ternary operator en Java. En caso de que aún no sepas qué es y cómo te ayuda a optimizar tus condicionales, en este post te lo explicaremos detalladamente.

qué es el ternary operator en java

¿Qué es el ternary operator en Java?

El ternary operator en Java es una herramienta con la que puedes evaluar una condición y devolver un resultado dependiendo de si esa condición es verdadera o falsa. La forma de usarlo realmente es muy sencilla: escribes la condición que quieres evaluar, luego un signo de interrogación de cierre (?), seguido del valor que quieres devolver si es verdadera, y luego un dos puntos (:) con el valor si es falsa. Todo esto en una sola línea.

Este operador es bastante útil para sustituir esas sentencias if/else cuando solo necesitas hacer algo simple basado en una condición, ahorrando espacio y haciendo tu código más limpio.

Cómo optimizar los condicionales con el ternary operator en Java

Haremos una comparación entre el uso de los condicionales if/else y el uso del ternary operator en Java, así lograrás apreciar mejor cómo es que se optimizan los condicionales:

Usando if/else:

Imagina que tienes que evaluar si un usuario tiene acceso basado en su edad:

int edad = 20;
String acceso;

if (edad >= 18) {
acceso = "Acceso permitido";
} else {
acceso = "Acceso denegado";
}

System.out.println(acceso);

Este código es perfectamente válido, pero ocupa más líneas de las que realmente necesitas. Por eso el ternary operator en Java llegó para simplificar las cosas.

Usando el ternary operator:

int edad = 20;
String acceso = (edad >= 18) ? "Acceso permitido" : "Acceso denegado";
System.out.println(acceso);

Como ves el resultado es el mismo: el código evalúa si la edad es mayor o igual a 18 y, dependiendo de la respuesta, asigna un valor a la variable acceso. La gran diferencia es que, el uso del ternary operator en Java reduce la cantidad de líneas y hace que tu código sea más conciso.

Aunque parece una maravilla, no te recomendamos usar el ternary operator en Java si tienes varias condiciones anidadas o si estás realizando acciones más complicadas. Para esos casos sí es mejor optar por la estructura clásica if/else.

Ejemplo práctico: manejo de pluralidad con el ternary operator en Java

En el manejo de la pluralidad, podrás darte cuenta de que el ternary operator en java te será de gran utilidad. Piensa que debes imprimir una frase diferente dependiendo de si un número es singular o plural:

Solución tradicional:

int cantidad = 1;
if (cantidad == 1) {
System.out.println("Tienes " + cantidad + " mensaje");
} else {
System.out.println("Tienes " + cantidad + " mensajes");
}

Este código está bien, pero te quedará aún mejor con el ternary operator en Java.

Solución optimizada con el ternary operator:

int cantidad = 1;
System.out.println("Tienes " + cantidad + (cantidad == 1 ? " mensaje" : " mensajes"));

Si observas bien, el código es mucho más compacto, y el ternary operator hace todo el trabajo. Dependiendo del valor de cantidad, imprimirá «mensaje» o «mensajes».

Otros usos del ternary operator en Java

Validación de valores nulos

Con el ternary operator en java también podrás manejar aquellas situaciones en las que un valor podría ser null. En lugar de escribir un if/else para verificar si un objeto es nulo, puedes hacerlo con el ternary operator:

String nombre = null;
String saludo = (nombre != null) ? "Hola, " + nombre : "Hola, invitado";
System.out.println(saludo);

Lo que sucede en este ejemplo es que se valida si la variable nombre tiene un valor. Si es null, el saludo será «Hola, invitado»; de lo contrario, incluirá el nombre de la persona.

Asignación de valores predeterminados

Otro uso común del ternary operator es para asignar valores predeterminados de manera sencilla. Por ejemplo:

int edad = 0;
String tipoUsuario = (edad >= 18) ? "Adulto" : "Menor";
System.out.println(tipoUsuario);

De esta forma, este código asigna «Adulto» si la edad es 18 o más, y «Menor» en caso contrario. Y lo mejor de todo, en una sola línea.

Si utilizas adecuadamente el ternary operator en java, lograrás resultados impresionantes en tu código. Además de simplificarlo, te quedará mucho más limpio y legible. Recuerda que su uso no es apto en todas las situaciones o escenarios, pero sí que puedes aprovecharlo para optimizar los condicionales y lograr una aplicación más eficiente.

Esto es solo un abrebocas de lo que podrías aprender en nuestro Bootcamp Java Full Stack de KeepCoding. Este programa intensivo te preparará para enfrentarte a los desafíos del sector IT, donde la demanda de expertos es altísima y los salarios son competitivos. ¡Apúntate ahora y empieza a transformar tu carrera profesional!

Posts más leídos

¡CONVOCATORIA ABIERTA!

Java y Spring Boot

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado