lunes, 23 de septiembre de 2024

■ Operadores ternarios

■ 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