Java ternary operator y como utilizarlo

El concepto de Java ternary operator siempre ha sido un concepto poco usado en el mundo Java . Pero que siempre que se usa genera problemas ya que casi nadie conoce el operador o lo utiliza en el día a día. ¿Para que sirve este operador? . Vamos a verlo:

Java Ternary Operator

Normalmente este operador substituye a una estructura if /else es decir podemos tener un programa tan sencillo como el que valora si un alumno ha aprobado un examen o lo ha suspendido.

package com.arquitecturajava;

public class Principal {

 public static void main(String[] args) {
  
  int nota=7;
  
  if (nota>5) {
   
   System.out.println("has aprobado");
  }else {
   
   System.out.println("has suspendido");
  }
 }

}

El resultado en este caso es obvio :

has aprobado

Sin embargo se trata de mucho código para una operativa tan simple . Para ello se define el Java Ternary Operator que permite resolver una sentencia if/else de una forma mucho más directa en una única linea.

package com.arquitecturajava;

public class Principal2 {

 public static void main(String[] args) {

  int nota = 7;

  System.out.println((nota > 5 ? "has aprobado" : "has suspendido"));

 }

}

El resultado es idéntico pero hemos compactado el código . Este operador dispone de el signo ? para separar lo que es la “condición” de las posibles respuestas if /else (confirmar/rechazar) que se encuentran separadas con el operador “:” .

Este tipo de sintaxis es muy útil cuando estamos tratando de formetear contenido . Uno de los casos más habituales es el caso de los plurales es decir imaginemos que tenemos un número de alumnos aprobados . Nuestro programa podría ser del siguiente estilo:

public class Principal3 {

 public static void main(String[] args) {
 
  int aprobados=1;
  
  if (aprobados==1) {
   
   System.out.println("ha aprobado " +aprobados+" un alumno");
  }else {
   
   System.out.println("han aprobado " +aprobados+" alumnos");
  }

 }

}

El resultado si el valor es un solo alumno aprobado es:

ha aprobado 1 un alumno

En el caso de varios alumnos es:

han aprobado 3 alumnos

Nos podemos dar cuenta que simplemente para cambiar los plurales es mucho ,mucho código. El Java Ternary Operator nos puede ayudar en este caso a simplificar:

package com.arquitecturajava;

public class Principal4 {
 public static void main(String[] args) {
  int aprobados = 3;
  System.out.println((aprobados == 1 ? "ha" : "han") +" aprobado " + aprobados+ (aprobados == 1 ? " un alumno" : " alumnos"));
 }

}

El resultado es idéntico:

Conclusiones

Acostumbremonos a utilizar este operador ya que en temas de formato nos aportará simplicidad.

Otros Artículos relacionados