
Lógica e Algoritmos com Java
16 - Operador Ternário
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:
- condição: Uma expressão booleana que será avaliada.
- valor_se_verdadeiro: O valor que será retornado se a condição for verdadeira.
- valor_se_falso: O valor que será retornado se a condição for falsa.
1. Exemplo Básico de Operador Ternário
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
2. Exemplo de Usando o Operador Ternário em Atribuição
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
3. Exemplo com Expressões Complexas
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
4. Vantagens do Operador Ternário
- É mais compacto e legível para expressões simples.
- Reduz o número de linhas de código, o que pode ser útil em determinadas situações.
- Permite a fácil implementação de condições em expressões e atribuições.
5. Desvantagens do Operador Ternário
- Em expressões mais complexas, pode reduzir a legibilidade do código.
- Não é recomendado em situações onde a condição envolva múltiplas verificações complexas.
6. Tabela de Sintaxe do Operador Ternário
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"; |