Introdução ao Operador Ternário e Expressões Condicionais
Introdução ao Operador Ternário e Expressões Condicionais
O operador ternário é uma forma concisa e elegante de escrever condições simples em C++. Em vez de usar um bloco if-else completo, você pode resolver a decisão em uma única linha. Isso torna seu código mais legível e compacto, especialmente quando você precisa atribuir um valor baseado em uma condição.
O que é o Operador Ternário?
O operador ternário tem a seguinte sintaxe:
condicao ? valor_se_verdadeiro : valor_se_falso;Ele funciona assim: se a condicao for verdadeira, o resultado é valor_se_verdadeiro. Caso contrário, o resultado é valor_se_falso.
Comparando com if-else
Vamos ver como o operador ternário simplifica o código. Imagine que você quer determinar se um número é par ou ímpar:
// Usando if-else (mais linhas)
int numero = 7;
string resultado;
if (numero % 2 == 0) {
resultado = "par";
} else {
resultado = "ímpar";
}
cout << resultado;Agora, a mesma lógica com o operador ternário:
// Usando operador ternário (uma linha)
int numero = 7;
string resultado = (numero % 2 == 0) ? "par" : "ímpar";
cout << resultado;Muito mais simples! O resultado é o mesmo, mas com menos código.
Exemplos Práticos
Exemplo 1: Encontrar o maior de dois números
int a = 10;
int b = 20;
int maior = (a > b) ? a : b;
cout << "O maior é: " << maior; // Saída: O maior é: 20Exemplo 2: Validar idade para dirigir
int idade = 16;
string pode_dirigir = (idade >= 18) ? "Sim, pode dirigir" : "Não, muito jovem";
cout << pode_dirigir; // Saída: Não, muito jovemExemplo 3: Atribuir desconto baseado em compra
double valor_compra = 150.0;
double desconto = (valor_compra > 100) ? valor_compra * 0.1 : 0;
cout << "Desconto: " << desconto; // Saída: Desconto: 15Quando Usar o Operador Ternário
O operador ternário é perfeito para:
- Atribuições simples: Quando você precisa atribuir um valor baseado em uma condição simples.
- Expressões curtas: Quando a lógica é direta e fácil de entender.
- Código mais limpo: Para evitar blocos
if-elsedesnecessários.
Evite usar o operador ternário quando:
- A lógica é complexa com múltiplas condições.
- Você precisa executar várias linhas de código dentro de cada branch.
- O código fica difícil de ler ou entender.
Operador Ternário Aninhado
Você pode aninhar operadores ternários, mas cuidado: isso pode deixar o código confuso. Veja um exemplo:
int nota = 75;
string conceito = (nota >= 90) ? "A" : (nota >= 80) ? "B" : (nota >= 70) ? "C" : "F";
cout << conceito; // Saída: CEmbora funcione, esse código é difícil de ler. Para casos assim, é melhor usar if-else tradicional.
Dica Importante
Sempre coloque parênteses ao redor da condição para deixar seu código mais claro:
// Bom
int resultado = (x > 5) ? 10 : 20;
// Evite
int resultado = x > 5 ? 10 : 20;Os parênteses ajudam você e outros programadores a entender rapidamente qual é a condição.
Key Takeaways
- O operador ternário é uma forma concisa de escrever condições simples em uma única linha, usando a sintaxe: condicao ? valor_verdadeiro : valor_falso
- Use o operador ternário para atribuições simples e diretas, mas prefira if-else quando a lógica é complexa ou envolve múltiplas linhas de código
- Sempre use parênteses ao redor da condição para melhorar a legibilidade do seu código
Enjoyed this reading?
SharpStack delivers personalized tech readings every day, calibrated to your skill level. 5 minutes a day to stay sharp.
“Stay sharp. At your pace. Everyday.”