Operador ternario de Java (con ejemplo)

En este tutorial, aprenderá sobre el operador ternario y su uso en Java con la ayuda de ejemplos.

En Java, se puede usar un operador ternario para reemplazar la instrucción if… else en ciertas situaciones. Antes de aprender sobre el operador ternario, asegúrese de visitar la declaración if… else de Java.

Operador ternario en Java

Un operador ternario evalúa la condición de prueba y ejecuta un bloque de código basado en el resultado de la condición.

Su sintaxis es:

 condition ? expression1 : expression2;

Aquí, la condición se evalúa y

  • si la condición es true, se ejecuta la expresión1.
  • Y, si la condición es false, se ejecuta expression2.

El operador ternario toma 3 operandos (condición, expresión1 y expresión2). De ahí el nombre operador ternario .

Ejemplo: operador ternario de Java

 import java.util.Scanner; class Main ( public static void main(String() args) ( // take input from users Scanner input = new Scanner(System.in); System.out.println("Enter your marks: "); double marks = input.nextDouble(); // ternary operator checks if // marks is greater than 40 String result = (marks> 40) ? "pass" : "fail"; System.out.println("You " + result + " the exam."); input.close(); ) )

Salida 1

 Introduzca sus notas: 75 Aprueba el examen.

Suponga que el usuario ingresa 75 . Entonces, la condición se marks> 40evalúa como true. Por tanto, la primera pasada de expresión se asigna a result.

Salida 2

 Ingrese sus calificaciones: 24 Reprueba el examen.

Ahora, suponga que el usuario ingresa 24 . Entonces, la condición se marks> 40evalúa como false. Por tanto, la segunda expresión falla se asigna a result.

¿Cuándo utilizar el operador ternario?

En Java, el operador ternario se puede utilizar para reemplazar ciertos tipos de if… elsedeclaraciones. Por ejemplo,

Puedes reemplazar este código

 class Main ( public static void main(String() args) ( // create a variable int number = 24; if(number> 0) ( System.out.println("Positive Number"); ) else ( System.out.println("Negative Number"); ) ) )

con

 class Main ( public static void main(String() args) ( // create a variable int number = 24; String result = (number> 0) ? "Positive Number" : "Negative Number"; System.out.println(result); ) )

Salida

 Numero positivo

Aquí, ambos programas dan el mismo resultado. Sin embargo, el uso del operador ternario hace que nuestro código sea más legible y limpio.

Nota : Solo debe usar el operador ternario si la declaración resultante es corta.

Operadores ternarios anidados

También es posible utilizar un operador ternario dentro de otro operador ternario. Se denomina operador ternario anidado en Java.

Aquí hay un programa para encontrar el mayor de 3 números usando el operador ternario anidado.

 class Main ( public static void main(String() args) ( // create a variable int n1 = 2, n2 = 9, n3 = -11; // nested ternary operator // to find the largest number int largest = (n1>= n2) ? ((n1>= n3) ? n1 : n3) : ((n2>= n3) ? n2 : n3); System.out.println("Largest Number: " + largest); ) )

Salida

 Número más grande: 9

En el ejemplo anterior, observe el uso del operador ternario,

 (n1>= n2) ? ((n1>=n3) ? n1 : n3) : ((n2>= n3) ? n2 : n3);

Aquí,

  • (n1> = n2) - primera condición de prueba que verifica si n1 es mayor que n2
  • (n1> = n3) - segunda condición de prueba que se ejecuta si la primera condición estrue
  • (n2> = n3) - tercera condición de prueba que se ejecuta si la primera condición esfalse

Nota : No se recomienda utilizar operadores ternarios anidados. Esto se debe a que hace que nuestro código sea más complejo.

Articulos interesantes...