Executar operações matemáticas
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.