Mobile App Development · Dart/Flutter

13 · Incremento e Decremento

Os operadores ++ e --, e a diferença entre usar o valor antes ou depois de alterá-lo: pós-incremento, pré-incremento, pós-decremento e pré-decremento.

1Objetivo da aula

Entender os operadores ++ e --, incluindo a diferença entre pré e pós incremento (e o mesmo raciocínio aplicado ao decremento). Essa diferença é sutil, mas muda o valor que uma expressão retorna — algo essencial para contadores, loops e qualquer lógica que acumule valores.

2O que vamos aprender

x++

Pós-incremento: a expressão retorna o valor atual de x e só depois incrementa a variável em 1.

++x

Pré-incremento: a variável é incrementada em 1 primeiro, e a expressão retorna o novo valor.

x-- / --x

Mesmo raciocínio do incremento, só que reduzindo o valor em 1 — pós-decremento retorna antes de diminuir, pré-decremento diminui antes de retornar.

for (var i = 1; i <= 5; i++)

O uso mais comum de ++ na prática: avançar o contador de um laço for a cada repetição.

var

Contadores precisam ser mutáveis, então são declarados com var (ou um tipo explícito como int), nunca com final.

valor retornado ≠ valor final

Em pos = x++, pos guarda o valor antigo de x; em pre = ++x, pre guarda o novo valor. É essa diferença que costuma confundir.

3Exemplo comentado

void main() {
  var x = 10;

  var pos = x++; // pos recebe 10, x vira 11
  print('Pós-incremento -> pos: $pos | x: $x');

  var pre = ++x; // x vira 12, pre recebe 12
  print('Pré-incremento -> pre: $pre | x: $x');

  var y = 5;
  y--;
  print('Após decremento: $y');
}

4Saída esperada

Pós-incremento -> pos: 10 | x: 11
Pré-incremento -> pre: 12 | x: 12
Após decremento: 4

5Do conteúdo para a prática

6Prática sugerida