Precedência e associatividade de operadores
Entenda a ordem de avaliação e use parênteses.
Precedência e associatividade de operadores é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 4 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 C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 4 aulas no total.
Por que a precedência importa
Quando uma expressão combina operadores, C# decide a ordem usando a precedência. Os operadores de maior precedência agrupam-se com mais força e são executados primeiro.
using System;
class Program {
static void Main() {
Console.WriteLine(2 + 3 * 4);
}
}Operadores multiplicativos antes dos aditivos
* / % têm precedência maior que + -, portanto são executados primeiro, assim como nas aulas de matemática.
using System;
class Program {
static void Main() {
Console.WriteLine(10 - 2 * 3);
Console.WriteLine(20 / 4 + 1);
}
}Parênteses substituem a ordem
Os parênteses têm a maior precedência. Use-os para impor a ordem desejada e deixar clara a intenção.
using System;
class Program {
static void Main() {
Console.WriteLine((2 + 3) * 4);
Console.WriteLine(2 + (3 * 4));
}
}Comparação versus aritmética
A aritmética é executada antes da comparação. Em a + b > c, a adição acontece primeiro e depois ocorre a comparação.
using System;
class Program {
static void Main() {
int a = 3, b = 4, c = 5;
Console.WriteLine(a + b > c);
}
}Ordem dos operadores lógicos
&& tem precedência maior que ||. Em a || b && c, o AND é agrupado primeiro.
using System;
class Program {
static void Main() {
bool r = true || false && false;
Console.WriteLine(r);
}
}Uma visão geral da precedência
Ordem aproximada, da maior para a menor: parênteses, unários (! ~ -), * / %, + -, deslocamentos, comparações, igualdade, operações bit a bit, &&, || e, por fim, atribuição.
using System;
class Program {
static void Main() {
int x = 1 + 2 << 1;
Console.WriteLine(x);
}
}Associatividade: da esquerda para a direita
Quando os operadores têm a mesma precedência, a associatividade decide a direção. A maioria dos operadores binários é associativa à esquerda: 10 - 4 - 2 é (10 - 4) - 2.
using System;
class Program {
static void Main() {
Console.WriteLine(10 - 4 - 2);
Console.WriteLine(100 / 5 / 2);
}
}Atribuição associativa à direita
A atribuição é associativa à direita. a = b = 5 atribui 5 a b primeiro e depois atribui esse resultado a a.
using System;
class Program {
static void Main() {
int a, b;
a = b = 5;
Console.WriteLine(a + " " + b);
}
}Operadores unários têm ligação forte
!, ~ e a negação unários são aplicados antes dos operadores binários. -3 + 2 nega 3 primeiro.
using System;
class Program {
static void Main() {
Console.WriteLine(-3 + 2);
Console.WriteLine(!false && true);
}
}O operador condicional
O operador ternário ?: tem baixa precedência, logo acima da atribuição. Coloque condições complexas entre parênteses para evitar problemas.
using System;
class Program {
static void Main() {
int n = 7;
string s = n % 2 == 0 ? "even" : "odd";
Console.WriteLine(s);
}
}Clareza supera esperteza
Mesmo quando a precedência torna os parênteses opcionais, adicioná-los frequentemente torna o código mais fácil de ler e revisar.
using System;
class Program {
static void Main() {
int a = 2, b = 3, c = 4;
int result = (a * b) + (c * 2);
Console.WriteLine(result);
}
}Verificação rápida
Verifique sua compreensão da precedência e da associatividade.
Recapitulação
A precedência define quais operadores são executados primeiro; * e / têm precedência maior que + e -, e os parênteses têm precedência maior que tudo. A associatividade resolve empates entre operadores de mesma precedência: a maioria é avaliada da esquerda para a direita, enquanto a atribuição é avaliada da direita para a esquerda.
Quando estiver em dúvida, adicione parênteses para deixar o código claro.
Perguntas Frequentes
A aula “Precedência e associatividade de operadores” é grátis?
Sim — o texto completo de “Precedência e associatividade de operadores” é 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 C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 4 aulas no total.
O que vou aprender em “Precedência e associatividade de operadores”?
Entenda a ordem de avaliação e use parênteses. Você pratica C# 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 C# Academy?
Nenhuma experiência prévia é necessária. C# 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 4 de 4.
Quanto tempo leva a aula “Precedência e associatividade de operadores”?
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 C# Academy?
Sim. Cada aula de C# 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
- Operadores aritméticos e de atribuição
- Operadores de comparação e lógicos
- Operadores bit a bit e de deslocamento
- Precedência e associatividade de operadores