Executar operações matemáticas

Concluído(a)

Dica

Consulte a guia Texto e imagens para obter mais detalhes!

Em sua essência, os computadores são calculadoras incrivelmente rápidas. O C# dá suporte a todas as operações matemáticas padrão esperadas, permitindo que você execute cálculos e salve os resultados em variáveis.

Operadores aritméticos

O C# usa símbolos padrão para matemática básica:

Operador Action Exemplo Result
+ Addition 10 + 3 13
- Subtraction 10 - 3 7
* Multiplication 10 * 3 30
/ Division 10 / 3 3 (divisão de inteiros)
% Módulo (restante) 10 % 3 1

Você pode tentar executar esse código por conta própria no Editor de Código em C#.

Noções básicas sobre módulos (%)

O operador % modulus retorna o que sobrou após a divisão. É útil para verificar se um número se divide uniformemente:

Console.WriteLine(10 % 2);   // Output: 0 (10 is even)
Console.WriteLine(11 % 2);   // Output: 1 (11 is odd)

Ordem de operações

O C# segue a ordem matemática padrão das operações (PEMDAS): parênteses, multiplicação/divisão e, em seguida, adição/subtração. Use parênteses para controlar a ordem:

int standard = 2 + 3 * 4;      // Multiplication first: 14
int forced = (2 + 3) * 4;      // Parentheses first: 20

Operadores de atribuição composta

Um padrão comum é atualizar uma variável usando seu próprio valor, como adicionar a uma pontuação ou subtrair de um saldo. O C# tem operadores abreviados para isso:

int score = 50;
score = score + 10;    // Standard way: score is 60
score += 10;           // Shorthand: score is 70

A mesma abreviação funciona para outras operações:

Operador Meaning Exemplo Resultado (começando em 10)
+= Adicionar e atribuir x += 5 15
-= Subtrair e atribuir x -= 5 5
*= Multiplicar e atribuir x *= 5 50
/= Dividir e atribuir x /= 5 2

Operadores de incremento e de decremento

Para adicionar ou subtrair 1, o C# tem operadores ainda mais curtos++ e --:

int count = 5;
count++;                       // Same as count = count + 1
Console.WriteLine(count);      // Output: 6

count--;                       // Same as count = count - 1
Console.WriteLine(count);      // Output: 5

Assuntos de posição: pré-incremento versus pós-incremento

Os ++ operadores e os -- operadores se comportam de forma diferente dependendo se aparecem antes ou depois da variável:

  • Pós-incremento (value++): usa primeiro o valor atual e, em seguida, incrementa
  • Pré-incremento (++value): incrementa primeiro e, em seguida, usa o novo valor
int a = 5;
Console.WriteLine(a++);   // Output: 5 (uses old value, then increments)
Console.WriteLine(a);     // Output: 6 (a was incremented)

int b = 5;
Console.WriteLine(++b);   // Output: 6 (increments first, then uses new value)
Console.WriteLine(b);     // Output: 6

As mesmas regras se aplicam a -- (decremento).

Divisão com inteiros versus decimais

Quando você divide dois inteiros, o C# trunca (descarta) a parte decimal:

int result = 7 / 2;
Console.WriteLine(result);     // Output: 3 (not 3.5)

Para manter a parte decimal, pelo menos um dos números deve ser do tipo decimal:

decimal result = 7m / 2m;
Console.WriteLine(result);     // Output: 3.5

É por isso que escolher o tipo de dados correto é importante para seus cálculos. Na próxima seção, você aprenderá a converter entre tipos quando precisar.