Operador Java Ternary (com exemplo)

Neste tutorial, você aprenderá sobre o operador ternário e seu uso em Java com a ajuda de exemplos.

Em Java, um operador ternário pode ser usado para substituir a instrução if… else em certas situações. Antes de aprender sobre o operador ternário, certifique-se de visitar o Java if… else statement.

Operador ternário em Java

Um operador ternário avalia a condição de teste e executa um bloco de código com base no resultado da condição.

Sua sintaxe é:

 condition ? expression1 : expression2;

Aqui, a condição é avaliada e

  • se a condição for true, a expressão1 será executada.
  • E, se a condição for false, a expressão2 é executada.

O operador ternário leva 3 operandos (condição, expressão1 e expressão2). Daí o nome operador ternário .

Exemplo: Operador Ternário 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(); ) )

Produto 1

 Digite suas notas: 75 Você passa no exame.

Suponha que o usuário digite 75 . Em seguida, a condição marks> 40avalia para true. Portanto, a primeira passagem de expressão é atribuída a resultado.

Produto 2

 Digite suas notas: 24 Você reprovou no exame.

Agora, suponha que o usuário insira 24 . Em seguida, a condição marks> 40avalia para false. Portanto, a segunda expressão falha é atribuída ao resultado.

Quando usar o Operador Ternário?

Em Java, o operador ternário pode ser usado para substituir certos tipos de if… elseinstruções. Por exemplo,

Você pode substituir 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"); ) ) )

com

 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); ) )

Resultado

 Número positivo

Aqui, os dois programas fornecem a mesma saída. No entanto, o uso do operador ternário torna nosso código mais legível e limpo.

Nota : Você só deve usar o operador ternário se a instrução resultante for curta.

Operadores ternários aninhados

Também é possível usar um operador ternário dentro de outro operador ternário. É chamado de operador ternário aninhado em Java.

Aqui está um programa para encontrar o maior dos 3 números usando o operador ternário aninhado.

 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); ) )

Resultado

 Maior número: 9

No exemplo acima, observe o uso do operador ternário,

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

Aqui,

  • (n1> = n2) - primeira condição de teste que verifica se n1 é maior que n2
  • (n1> = n3) - segunda condição de teste que é executada se a primeira condição fortrue
  • (n2> = n3) - terceira condição de teste que é executada se a primeira condição forfalse

Nota : Não é recomendado usar operadores ternários aninhados. Isso ocorre porque torna nosso código mais complexo.

Artigos interessantes...