0Pricing
C# Academy · Aula

Operadores e expressões: aritméticos, de comparação e lógicos

Trabalhe com operadores aritméticos (+, -, *, /, %), comparações (==, !=, , =) e operadores lógicos (&&, ||, !). Entenda a precedência e a avaliação em curto-circuito.

Operadores e expressões: aritméticos, de comparação e lógicos é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 2 de 3. 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 3 aulas no total.

Mapa dos operadores

Objetivo: usar operadores aritméticos, de comparação e lógicos para criar expressões claras.

  • Fazer cálculos com + - * / %
  • Comparar valores
  • Combinar verificações com && e ||

Fundamentos da aritmética

Aritmética: / com valores int trunca o resultado; use double para obter resultados fracionários.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    int a = 9;
    int b = 4;
    Console.WriteLine("a + b = " + (a + b));
    Console.WriteLine("a - b = " + (a - b));
    Console.WriteLine("a * b = " + (a * b));
    Console.WriteLine("a / b = " + (a / b)); // integer division
    Console.WriteLine("a % b = " + (a % b)); // remainder
  }
}

Fundamentos da comparação

Os operadores de comparação produzem resultados bool que podem ser combinados com operadores lógicos.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    int x = 5;
    int y = 7;
    Console.WriteLine("x == y: " + (x == y));
    Console.WriteLine("x != y: " + (x != y));
    Console.WriteLine("x < y:  " + (x < y));
    Console.WriteLine("x <= y: " + (x <= y));
    Console.WriteLine("x > y:  " + (x > y));
    Console.WriteLine("x >= y: " + (x >= y));
  }
}

Operadores lógicos

Avaliação em curto-circuito: && para quando o lado esquerdo é falso; || para quando o lado esquerdo é verdadeiro. Isso ajuda a evitar trabalho desnecessário.

using System;

public class Program
{
  static bool ExpensiveCheck()
  {
    Console.WriteLine("ExpensiveCheck ran");
    return true;
  }

  public static void Main(string[] args)
  {
    bool ok = false;
    // && short-circuits when the left is false
    if (ok && ExpensiveCheck())
    {
      Console.WriteLine("Both true");
    }
    else
    {
      Console.WriteLine("Left was false, skipped right");
    }

    bool isAdmin = true;
    bool hasTicket = false;

    // || short-circuits when the left is true
    if (isAdmin || hasTicket)
    {
      Console.WriteLine("Allowed");
    }

    // Negation
    Console.WriteLine("!hasTicket = " + (!hasTicket));
  }
}

Precedência e ()

A precedência afeta os resultados; adicione parênteses para deixar a intenção evidente e evitar erros.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    int n = 10;
    int m = 3;
    bool r1 = n - m * 2 == 4;        // * before -
    bool r2 = (n - m) * 2 == 14;     // grouped
    Console.WriteLine("r1 = " + r1);
    Console.WriteLine("r2 = " + r2);

    // Logical precedence: && before ||, but use () for clarity
    bool a = true, b = false, c = true;
    bool r3 = a || b && c;           // b&&c first → true
    bool r4 = (a || b) && c;         // grouped → true
    Console.WriteLine("r3 = " + r3);
    Console.WriteLine("r4 = " + r4);
  }
}

Armadilhas a evitar

Evite surpresas: promova para double quando precisar de resultados fracionários; use a avaliação em curto-circuito para ignorar chamadas dispendiosas.

using System;

public class Program
{
  static int Counter = 0;

  static int Next()
  {
    Counter = Counter + 1;
    return Counter;
  }

  public static void Main(string[] args)
  {
    // Integer division pitfall
    int a = 1, b = 2;
    Console.WriteLine("1/2 int = " + (a / b)); // 0
    Console.WriteLine("1/2 double = " + (a / 2.0)); // 0.5

    // Side effects: function called only if needed
    bool cond = false;
    if (cond && Next() > 0)
    {
      Console.WriteLine("Will not run");
    }
    Console.WriteLine("Counter = " + Counter); // 0 because Next() skipped
  }
}

Comportamento de curto-circuito

Verificação rápida: qual afirmação sobre && e || está correta?

Recapitulação

Recapitulação: use a aritmética para cálculos, comparações para decisões e operadores lógicos para combinar verificações. Prefira parênteses para obter clareza e use o curto-circuito com critério.

Perguntas Frequentes

A aula “Operadores e expressões: aritméticos, de comparação e lógicos” é grátis?

Sim — o texto completo de “Operadores e expressões: aritméticos, de comparação e lógicos” é 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 3 aulas no total.

O que vou aprender em “Operadores e expressões: aritméticos, de comparação e lógicos”?

Trabalhe com operadores aritméticos (+, -, *, /, %), comparações (==, !=, , =) e operadores lógicos (&&, ||, !). Entenda a precedência e a avaliação em curto-circuito. 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 2 de 3.

Quanto tempo leva a aula “Operadores e expressões: aritméticos, de comparação e lógicos”?

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. Valor versus referência; literais; inferência com var; const/readonly
  2. Operadores e expressões: aritméticos, de comparação e lógicos
  3. Sufixos na prática; conversão de tipo versus conversão; criação de objetos no C# 6
← Voltar para C# Academy