Sintaxe:
variável = expressão condicional ? Declaração 1: Declaração 2Aqui, se a declaração condicional retornar verdadeira, então ela executará a declaração definida no lado esquerdo de ':', e se retornar falso, então ela executará a declaração definida no lado direito de ':'.
Exemplo-1: Uso do operador ternário com uma única condição
O exemplo a seguir mostra o uso muito simples de um operador ternário que pode ser usado na substituição da instrução 'if-else'. Um valor inteiro será tomado como entrada, e o operador ternário é usado para verificar se o valor é maior ou igual a 80 ou não. Se a condição ternária retornar verdadeira, ela retornará a nota; caso contrário, ele irá calcular quantas notas são necessárias para obter 80 e retornar ao mensagem variável que é impressa depois.
// Importar pacote do Scannerimportar java.util.Scanner;
public class ternary1
public static void main (String [] args)
// Crie um objeto Scanner
Scanner em = novo Scanner (Sistema.dentro);
Sistema.Fora.print ("Digite suas marcas:");
// Tirar marcas do usuário
marcas int = em.nextInt ();
// Armazena o valor da string com base em um valor de entrada
Mensagem de string = (marcas> = 80) ? "Sua nota é A +": "Você precisa" + (80 pontos) +
"para obter A +";
Sistema.Fora.println (mensagem);
// Fechar o objeto do scanner
dentro.perto();
Resultado:
Depois de executar o código, 85 é considerado como entrada superior a 80. Então, o valor da nota é impresso aqui.
Quando 75 é tomado como entrada, a condição ternária retornou falsa e, ela calculou quantas marcas são necessárias para obter A + e impresso.
Exemplo 2: Uso do operador ternário com várias condições
O exemplo a seguir mostra o uso de um operador ternário com duas condições e, se ambas as condições retornarem verdadeiras, ele retornará um texto específico; caso contrário, ele retornará outro texto para val variável que irá imprimir mais tarde.
public class ternary2public static void main (String [] args)
// Atribuir um valor de string
Nome da string = "Abrar Fahad";
// Atribuir um valor numérico
id int = 22;
/ * Armazena o valor da string com base em
* o valor de retorno da condição
* /
String val = (nome.é igual a ("Abrar Fahad") && id == 22) ?
"Você está selecionado": "Você não está selecionado";
// Imprime a variável
Sistema.Fora.println (val);
Resultado:
De acordo com o código, a condição ternária retornará verdadeira e a seguinte saída aparecerá após a execução do código.
Exemplo 3: uso do operador ternário para encontrar o valor máximo
Encontrar o valor máximo entre dois números usando o operador ternário é mostrado no exemplo a seguir. Dois valores inteiros serão retirados dos usuários e comparados na condição ternária para descobrir o valor máximo. A seguir, o valor máximo será impresso com o texto formatado.
// Importar pacote do Scannerimportar java.util.Scanner;
public class ternary3
public static void main (String [] args)
// Criar um objeto Scanner
Scanner em = novo Scanner (Sistema.dentro);
Sistema.Fora.print ("Digite um número:");
// Pegue o primeiro número
int num1 = em.nextInt ();
Sistema.Fora.print ("Digite um número:");
// Pegue o segundo número
int num2 = em.nextInt ();
// Armazenar valor máximo
int max_val = (num1> num2) ? num1: num2;
// Imprimir valor máximo
Sistema.Fora.println ("O número máximo é:" + max_val);
// Fechar o objeto do scanner
dentro.perto();
Resultado:
23 e 79 são tomados como entrada após a execução do código, e o valor máximo é impresso.
Exemplo 4: Uso do operador ternário aninhado
Operador ternário aninhado pode ser usado como alternativa de 'if-else-if' demonstração. O uso do operador ternário aninhado é mostrado no exemplo a seguir. Aqui, um valor inteiro será tomado como entrada e armazenado no marcas variável. O valor de marcas será verificado na primeira condição ternária, e se retornar falso, então ele irá verificar na segunda condição ternária e assim por diante. Se todas as condições ternárias retornarem falsas, ele retornará o último texto da declaração ternária. O avaliar variáveléusada para armazenar o valor de retorno da expressão ternária que irá imprimir mais tarde como saída.
// Importar pacote do Scannerimportar java.util.Scanner;
public class ternary4
public static void main (String [] args)
// Crie um objeto Scanner
Scanner em = novo Scanner (Sistema.dentro);
Sistema.Fora.print ("Digite suas marcas:");
// Tire as marcas do usuário
marcas int = em.nextInt ();
// Armazena o valor da string com base no valor de entrada
Grau da corda = (marcas> = 90) ? "Sua nota é A +":
(marcas> = 80) ? "Sua nota é B +":
(marcas> = 70) ? "Sua nota é C +":
(marcas> = 75) ? "Sua nota é D": "Você reprovou";
Sistema.Fora.println (grau);
// Fechar o objeto do scanner
dentro.perto();
Resultado:
76 é tomado como entrada após a execução do código, e a terceira condição do operador ternário tornou-se verdadeira com base no valor de entrada, e o texto correspondente é impresso.
Em seguida, 60 é considerado como entrada e todas as condições ternárias retornaram falsas. Então, o último texto da expressão ternária é impresso.
Conclusão:
Usar um operador ternário no lugar de 'if-else' e 'if-else-if' torna o código curto e eficiente em muitos casos. Então, é melhor usá-lo para resolver problemas simples. Os diferentes usos da expressão ternária são explicados neste tutorial usando exemplos simples. Espero que o conceito do operador ternário e como ele pode ser usado no código Java seja esclarecido após a leitura deste tutorial.