0Pricing
Java Academy · Aula

O operador ternário

condition ? a : b

O operador ternário é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 4 aulas no total.

O que é o operador ternário

O operador ternário é o único operador de Java que recebe três operandos. Ele é uma forma compacta de escolher entre dois valores com base em uma condição.

Seu formato é: condition ? valueIfTrue : valueIfFalse.

Ele produz um valor, portanto você pode atribuí-lo ou passá-lo diretamente.

int age = 20;
String status = age >= 18 ? "adult" : "minor";

As três partes

A primeira parte é uma condição booleana. O ? a separa dos resultados.

Se a condição for verdadeira, a expressão resultará na parte anterior a :. Se for falsa, resultará na parte posterior a :.

Apenas um dos dois ramos é realmente avaliado.

int score = 45;
String result = score >= 50 ? "pass" : "fail";

Um exemplo completo em execução

Este é um programa completo que imprime um rótulo com base em um número.

A condição n % 2 == 0 decide se deve usar "even" ou "odd".

public class Main {
    public static void main(String[] args) {
        int n = 7;
        String parity = n % 2 == 0 ? "even" : "odd";
        System.out.println(parity);
    }
}

É uma expressão

Diferentemente de uma instrução if, um ternário é uma expressão: ele tem um valor.

Isso significa que você pode usá-lo dentro de chamadas de método, retornos e atribuições, onde uma instrução não se encaixaria.

public class Main {
    public static void main(String[] args) {
        int a = 9, b = 4;
        System.out.println("Max is " + (a > b ? a : b));
    }
}

Escolhendo números

Os dois ramos não precisam ser cadeias de caracteres. Aqui, o ternário escolhe o maior entre dois inteiros.

O resultado é um int que você pode armazenar e reutilizar.

public class Main {
    public static void main(String[] args) {
        int x = 12, y = 30;
        int max = x > y ? x : y;
        System.out.println(max);
    }
}

Os dois ramos devem ter tipos compatíveis

Java precisa conhecer o tipo da expressão inteira, portanto os dois ramos devem ter tipos compatíveis.

Se um ramo for um int e o outro for uma String, o código não será compilado.

Mantenha os dois lados com o mesmo tipo de valor.

boolean ok = true;
// valid: both ints
int code = ok ? 200 : 404;
// invalid: int vs String would not compile

Retornando de um método

Os ternários são especialmente úteis dentro de instruções return, substituindo uma estrutura se/senão de quatro linhas por uma linha.

O método abaixo retorna o valor absoluto de um número.

public class Main {
    static int abs(int n) {
        return n < 0 ? -n : n;
    }
    public static void main(String[] args) {
        System.out.println(abs(-8));
    }
}

Usando-o na saída

Você pode inserir um ternário diretamente dentro de uma chamada de impressão.

Coloque-o entre parênteses ao concatenar, para que ? e : sejam agrupados antes que + concatene o texto.

public class Main {
    public static void main(String[] args) {
        int items = 0;
        System.out.println("Cart: " + (items == 0 ? "empty" : "has items"));
    }
}

Escolhendo uma saudação

Um uso comum é selecionar uma entre duas mensagens.

A condição verifica um sinalizador booleano, e o ternário escolhe o texto de saudação correspondente.

public class Main {
    public static void main(String[] args) {
        boolean morning = true;
        String greet = morning ? "Good morning" : "Hello";
        System.out.println(greet);
    }
}

Precedência de operadores

O ternário tem precedência muito baixa, portanto as operações aritméticas e as comparações dentro dele são executadas primeiro.

Em a + b > 10 ? "big" : "small", Java calcula a + b, faz a comparação e então escolhe um ramo.

Adicione parênteses ao misturá-lo com + para concatenar cadeias de caracteres.

int a = 6, b = 7;
String size = a + b > 10 ? "big" : "small";

Atribuindo com base na entrada

Os ternários são ótimos para inicializar uma variável em uma única etapa.

Aqui, uma taxa é definida como zero para membros e como um valor fixo nos demais casos.

public class Main {
    public static void main(String[] args) {
        boolean isMember = false;
        double fee = isMember ? 0.0 : 9.99;
        System.out.println(fee);
    }
}

Verificação rápida

Teste sua compreensão da sintaxe do ternário.

Recapitulação

O operador ternário condition ? a : b é a expressão condicional compacta de três partes de Java.

Ele retorna um valor, avalia apenas um ramo e precisa de tipos compatíveis nos dois lados.

Use-o para atribuir, retornar ou imprimir um entre dois valores de forma clara.

Perguntas Frequentes

A aula “O operador ternário” é grátis?

Sim — o texto completo de “O operador ternário” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 4 aulas no total.

O que vou aprender em “O operador ternário”?

condition ? a : b Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Java Academy?

Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “O operador ternário”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Java Academy?

Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. O operador ternário
  2. Aninhando operadores ternários
  3. Ternário versus if/else
  4. Armadilhas de legibilidade
← Voltar para Java Academy