Ejemplos prácticos de operadores ternarios anidados
Para ilustrar aún más el uso de los operadores ternarios anidados, exploremos algunos ejemplos prácticos.
Ejemplo 1: Determinar el mayor de tres números
int a = 10, b = 20, c = 15;
int largest = (a > b)? ((a > c)? a : c) : ((b > c)? b : c);
System.out.println("The largest number is: " + largest); // Output: The largest number is: 20
En este ejemplo, utilizamos un operador ternario anidado para determinar el mayor de tres números. La primera condición verifica si a es mayor que b. Si es verdadera, verifica si a es mayor que c. Si es verdadera, devuelve a, de lo contrario, devuelve c. Si la primera condición es falsa, verifica si b es mayor que c. Si es verdadera, devuelve b, de lo contrario, devuelve c.
Ejemplo 2: Calcular el valor absoluto
int x = -5;
int absValue = (x >= 0)? x : -x;
System.out.println("The absolute value of " + x + " is: " + absValue); // Output: The absolute value of -5 is: 5
En este ejemplo, utilizamos un solo operador ternario para calcular el valor absoluto de un número. Si el número es mayor o igual a 0, se devuelve el valor tal cual. Si el número es negativo, se multiplica el valor negativo por -1 para obtener el valor absoluto.
Ejemplo 3: Determinar la calificación basada en una puntuación
int score = 85;
String grade = (score >= 90)? "A" : (score >= 80)? "B" : (score >= 70)? "C" : (score >= 60)? "D" : "F";
System.out.println("The grade is: " + grade); // Output: The grade is: B
En este ejemplo, utilizamos un operador ternario anidado para determinar la calificación basada en una puntuación. La primera condición verifica si la puntuación es mayor o igual a 90. Si es verdadera, devuelve "A". Si es falsa, verifica si la puntuación es mayor o igual a 80. Si es verdadera, devuelve "B". Este proceso continúa hasta que se hayan verificado todas las condiciones y se haya determinado la calificación final.
Estos ejemplos demuestran cómo se pueden utilizar los operadores ternarios anidados para manejar lógica condicional más compleja de una manera concisa y legible. Sin embargo, es importante equilibrar el uso de los operadores ternarios anidados con la legibilidad y la mantenibilidad, especialmente a medida que las condiciones se vuelven más complejas.