0Pricing
C# Academy · Aula

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

  1. Operadores aritméticos e de atribuição
  2. Operadores de comparação e lógicos
  3. Operadores bit a bit e de deslocamento
  4. Precedência e associatividade de operadores
← Voltar para C# Academy