Operador Ternario
¿Cómo podemos acortar una sentencia if-else?
La sentencia if
puede no verse siempre elegante, pero Java ofrece una forma más rápida y conveniente de verificar condiciones. Se llama operador ternario, y tiene la siguiente sintaxis:
condition ? expression_for_true : expression_for_false
Primero, establecemos una condición, por ejemplo, 10 > 5
, y luego colocamos un signo de interrogación ?
después de ella. Si la condición se evalúa como true
, pasamos al bloque de verdadero, por ejemplo, System.out.println("That's true");
. Si la condición se evalúa como false
, pasamos al bloque de falso, donde podríamos tener algo como System.out.println("That's not true");
.
Analicemos un ejemplo más práctico:
Main.java
package com.example; public class Main { public static void main(String[] args) { System.out.println(10 > 5 ? "That's true" : "That's false"); System.out.println(5 > 6 ? "That's true" : "That's false"); } }
Es posible que hayas notado que utilizamos el operador ternario dentro de la sentencia System.out.println();
. Ese es el propósito principal de usar el operador ternario: puedes emplearlo dentro de sentencias de salida para reducir significativamente la cantidad de código.
También podemos utilizar el operador ternario al inicializar o retornar valores. Aprenderás más sobre cómo retornar valores en la siguiente sección cuando estudies métodos.
Ejemplo de uso del operador ternario al inicializar un valor:
Main.java
package com.example; public class Main { public static void main(String[] args) { final int a = 10 > 2 ? 5 : 2; final int b = 10 < 2 ? 5 : 2; System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
A continuación se muestra un ejemplo de código donde el operador ternario es reemplazado por una sentencia if
regular para ayudarte a comprender mejor cómo funciona:
Main.java
package com.example; public class Main { public static void main(String[] args) { int a = 0; int b = 0; if (10 > 2) { a = 5; } else { a = 2; } if (10 < 2) { b = 5; } else { b = 2; } System.out.println("Variable 'a' has value: " + a); System.out.println("Variable 'b' has value: " + b); } }
El resultado es el mismo, pero se puede observar cuánto espacio se ahorra utilizando el operador ternario.
Swipe to start coding
-
Escribir un código que imprima
"The string contains Florida"
si la cadena contiene la palabra Florida, o"Florida is not found"
si no la contiene. -
Utilizar el operador ternario para practicar su uso.
Solución
solution.java
¡Gracias por tus comentarios!