Mobile App Development · Dart/Flutter
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.
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.
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.
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');
}
Pós-incremento -> pos: 10 | x: 11 Pré-incremento -> pre: 12 | x: 12 Após decremento: 4
pos = x++ por pos = ++x e compare os valores impressos.for (var i = 1; i <= 5; i++) e imprima "Volta $i" a cada repetição.--x (pré-decremento), comparando com x--.i-- dentro de um for, terminando com uma mensagem final.