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