Operações Aritméticas em JavaScript
Operações aritméticas são a base da matemática e da programação. Em JavaScript, usamos operadores (como +
para somar e -
para subtrair) para realizar cálculos. Os valores que participam desses cálculos são chamados de operandos (os números ou variáveis envolvidos na operação). Este guia mostrará como usar os principais operadores aritméticos para manipular números em seus programas.
JavaScript inclui todas as operações matemáticas básicas.
Adição
A operação de adição soma dois valores:
const x = 50 + 10;
console.log(x); // 60
Subtração
A operação de subtração diminui um valor de outro:
const x = 50 - 10;
console.log(x); // 40
Multiplicação
A operação de multiplicação calcula o produto de dois valores:
const x = 50 * 10;
console.log(x); // 500
Divisão
A operação de divisão divide um valor por outro:
const x = 50 / 10;
console.log(x); // 5
Módulo
O operador %
retorna o resto da divisão entre dois números:
const x = 5 % 2;
console.log(x); // 1
Por exemplo, 5 dividido por 2 resulta em quociente 2 e resto 1.
Exponenciação
O operador **
eleva um número a uma potência:
const n = 2 ** 3;
console.log(n); // 8
const x = 3;
const y = 2;
const z = x ** y;
console.log(z); // 9
Incremento
O operador ++
aumenta o valor de uma variável em 1. A forma prefixada incrementa antes de retornar o valor, enquanto a pós-fixada retorna o valor original antes de incrementar:
// incremento prefixado
let x = 5;
let z = ++x;
console.log(x); // 6
console.log(z); // 6
// incremento pós-fixado
let a = 5;
let b = a++;
console.log(a); // 6
console.log(b); // 5
Essa operação corresponde a adicionar 1 ao valor.
Decremento
O operador --
diminui o valor de uma variável em 1. Semelhante ao incremento, existem versões prefixada e pós-fixada:
// decremento prefixado
let x = 5;
let z = --x;
console.log(x); // 4
console.log(z); // 4
// decremento pós-fixado
let a = 5;
let b = a--;
console.log(a); // 4
console.log(b); // 5
Precedência de Operadores
As operações seguem a precedência matemática: da esquerda para a direita, com prioridade para incremento e decremento, seguida de multiplicação e divisão, e por fim adição e subtração. Parênteses modificam essa ordem:
let x = 10;
let y = 5 + (6 - 2) * --x;
console.log(y); // 41
Aqui, --x
torna x em 9, (6 - 2) resulta em 4, 4 * 9 dá 36, e 5 + 36 chega a 41.
Operadores de Atribuição Compostos
JavaScript combina operações aritméticas com atribuição para tornar o código mais conciso.
+=
: soma e atribui o resultado:let a = 23; a += 5; // equivalente a a = a + 5 console.log(a); // 28
-=
: subtrai e atribui o resultado:let a = 23; a -= 5; // equivalente a a = a - 5 console.log(a); // 18
*=
: multiplica e atribui o resultado:let a = 23; a *= 5; // equivalente a a = a * 5 console.log(a); // 115
/=
: divide e atribui o resultado:let a = 23; a /= 5; // equivalente a a = a / 5 console.log(a); // 4.6
%=
: aplica módulo e atribui o resultado:let x = 10; x %= 3; // equivalente a x = x % 3 console.log(x); // 1
**=
: eleva à potência e atribui o resultado:let x = 5; x **= 3; // equivalente a x = x ** 3 console.log(x); // 125
Resumo
- Operações básicas abrangem adição (+), subtração (-), multiplicação (*) e divisão (/).
- O módulo (%) fornece o resto da divisão.
- Exponenciação (**) lida com potências.
- Incremento (++) e decremento (--) ajustam valores em 1, com variações prefixada e pós-fixada.
- Atribuição composta, como += e -=, une cálculos e atualizações de variáveis de forma eficiente.
📝 Exercícios
Tarefa 1: Cálculo do Total da Compra
Descrição: Você está criando uma calculadora para um carrinho de compras. Calcule o custoTotal
de um item. O cálculo deve ser: (preco * quantidade) - desconto
.
Código inicial:
const preco = 15.5;
const quantidade = 4;
const desconto = 10.0;
let custoTotal = 0;
// Calcule o custo total aqui e armazene na variável 'custoTotal'.
console.log("O custo total é: R$" + custoTotal); // O resultado esperado é: R$52
Resposta
const preco = 15.5;
const quantidade = 4;
const desconto = 10.0;
let custoTotal = 0;
custoTotal = preco * quantidade - desconto;
console.log("O custo total é: R$" + custoTotal);
*
) e subtração (-
). Os parênteses garantem que a multiplicação seja executada antes da subtração, seguindo a lógica correta para o cálculo do custo. O resultado de 15.50 * 4
é 62
, e 62 - 10
é 52
.
Tarefa 2: Entendendo o Incremento Pós-fixado
Descrição: Analise o trecho de código abaixo, que usa o operador de incremento pós-fixado (contador++
). Qual será o valor final das variáveis contador
e valorAntigo
?
Código inicial:
let contador = 10;
let valorAntigo = contador++;
console.log("Valor final do contador:", contador);
console.log("Valor antigo:", valorAntigo);
Qual será a saída?
Resposta
Valor final do contador: 11 Valor antigo: 10
a++
).
contador++
primeiro retorna o valor original de contador
, que é 10
.10
) é atribuído à variável valorAntigo
.contador
é incrementada para 11
.
Portanto, valorAntigo
armazena o valor antes do incremento, e contador
armazena o valor depois do incremento.Tarefa 3: Precedência de Operadores
Descrição: Sem executar o código, determine o valor final da variável resultado
. Analise a ordem em que as operações serão executadas.
Código inicial:
let a = 5;
let b = 10;
let c = 4;
const resultado = a * ++b - (c % 3);
console.log(resultado);
Qual será o valor final de resultado
?
Resposta
54
a * ++b - c % 3
seguindo a ordem de precedência dos operadores. A primeira operação a ser executada é o pré-incremento (++b
), que tem alta prioridade. Isso significa que a variável b
é incrementada de 10
para 11
antes de ser usada no resto do cálculo, transformando a expressão em 5 * 11 - 4 % 3
.
*
) e módulo (%
), que têm a mesma precedência e são resolvidos da esquerda para a direita. Primeiro, 5 * 11
resulta em 55
. Depois, 4 % 3
(o resto da divisão de 4 por 3) resulta em 1
. A expressão agora se simplifica para 55 - 1
.
-
) é executada, resultando em 54
. Portanto, o valor final atribuído à variável resultado
é 54
.