O operador ternário em Java é uma forma compacta de escrever uma estrutura condicional if-else. Ele permite que você execute uma expressão com base em uma condição de maneira mais concisa e elegante. A sintaxe do operador ternário é a seguinte:
condição ? valor_se_verdadeiro : valor_se_falso;
Em termos simples:
Vamos verificar se uma pessoa é maior de idade usando o operador ternário:
public class ExemploTernario {
public static void main(String[] args) {
int idade = 18;
String resultado = (idade >= 18) ? "Maior de idade" : "Menor de idade";
System.out.println(resultado);
}
}
Saída: Maior de idade
O operador ternário pode ser utilizado para atribuir valores a variáveis de forma mais compacta.
public class AtribuicaoTernario {
public static void main(String[] args) {
int a = 10, b = 20;
int maior = (a > b) ? a : b; // Atribui o maior valor de a ou b à variável maior
System.out.println("O maior valor é: " + maior);
}
}
Saída: O maior valor é: 20
O operador ternário também pode ser usado com expressões mais complexas. Veja o exemplo abaixo:
public class TernarioComplexo {
public static void main(String[] args) {
int numero = 15;
String resultado = (numero % 2 == 0) ? "Par" : (numero % 3 == 0) ? "Múltiplo de 3" : "Ímpar e não múltiplo de 3";
System.out.println(resultado);
}
}
Saída: Múltiplo de 3
| Operação | Sintaxe | Exemplo |
|---|---|---|
| Simples | condição ? valor_se_verdadeiro : valor_se_falso; | int idade = 18; String resultado = (idade >= 18) ? "Maior de idade" : "Menor de idade"; |
| Com Atribuição | variável = (condição) ? valor_se_verdadeiro : valor_se_falso; | int maior = (a > b) ? a : b; |
| Com Expressões Complexas | condição ? valor_se_verdadeiro : (condição2 ? valor2 : valor_falso); | String resultado = (numero % 2 == 0) ? "Par" : (numero % 3 == 0) ? "Múltiplo de 3" : "Ímpar"; |