Realizar operações matemáticas

Concluído

Sugestão

Consulte a guia Texto e imagens para obter mais detalhes!

No fundo, os computadores são calculadoras incrivelmente rápidas. O C# suporta todas as operações matemáticas padrão que se esperaria, permitindo-lhe fazer cálculos e guardar os resultados em variáveis.

Operadores aritméticos

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

Operator Action Example Resultado
+ Addition 10 + 3 13
- Subtraction 10 - 3 7
* Multiplication 10 * 3 30
/ Division 10 / 3 3 (divisão inteira)
% Módulo (resto) 10 % 3 1

Podes tentar correr este código tu próprio no Editor de Código C#.

Módulo de compreensão (%)

O operador % de módulo devolve o que resta após a divisão. É útil para verificar se um número se divide igualmente:

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

Ordem de operações

C# segue a ordem matemática padrão de operações (PEMDAS): Parênteses, depois Multiplicação/Divisão, depois 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 o seu próprio valor — como somar a uma pontuação ou subtrair de um saldo. C# tem operadores abreviados para isto:

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:

Operator Meaning Example Resultado (a partir do 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 decréscimo

Para somar 1ou subtrair, 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

A posição importa: pré-incremento vs. pós-incremento

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

  • Pós-incrementação (value++): Utiliza primeiro o valor atual e, em seguida, incrementa
  • Pré-incremento (++value): Incrementa primeiro, depois 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 aplicam-se a -- (decremento).

Divisão com inteiros vs. decimais

Quando se dividem dois inteiros, C# trunca (elimina) a parte decimal:

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

Para manter o 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 dado certo é importante para os seus cálculos. Na secção seguinte, aprendes a converter entre tipos quando precisares.