■ Operadores ternarios o condicionales
Un operador ternario u operador condicional, es una estructura funcionalmente similar a un if - else pero en una sola línea, ésta tras evaluarse devuelve un resultado, su sintaxis es esta:
(condición) ? <resultado_si_se_cumple> : <resultado_si_no_se_cumple>
■ Ejemplo
int numero = 3;
String resultado;
resultado = (numero < 0) ? "Es negativo" : "Es positivo";
System.out.println(resultado);
En este caso imprimirá:
Es positivo
Como puede observarse, dado que esta estructura devuelve un resultado debe asignarse a una variable o bien mandarse a imprimir directamente:
System.out.println((numero < 0) ? "Es negativo" : "Es positivo");
■ Complejidad
Así como los if pueden anidarse, por ejemplo de la siguiente forma:
if (numero > -1) {
if (numero > 0) {
// Es positivo
} else {
// Es cero
}
} else {
// Es negativo
}
El operador ternario también se puede, de modo que la estructura if anterior se puede representar en un operador ternario como se muestra a continuación:
resultado = (numero > 0) ? "Es positivo" : ((numero > -1) ? "Es cero" : "Es negativo");
Donde si se cumple la condición regresa "Es positivo", si no se cumple se pone entre parentesis el otro operador ternario del cual si la condición se cumple regresa "Es cero", si no se cumple regresa "Es negativo".
Lo anterior sería así:
(condición) ? <verdadero> : ((condición) ? <verdadero> : <falso>)
No hay comentarios:
Publicar un comentario