Uma variável numérica, depois de atribuído um valor, pode sofrer incremento (adição de uma unidade) ou decremento (diminuição de uma unidade) ao se usar ++ ou -- atribuída à variável.
Operadores de incremento e decremento:
public class IncrementoDecremento {
public static void main(String[] args) {
// Iniciando uma variável
int contador = 10;
System.out.println("Valor inicial: " + contador);
// Incrementando (adicionando 1)
contador++; // Equivalente a: contador = contador + 1;
System.out.println("Após incremento: " + contador); // Valor: 11
// Decrementando (subtraindo 1)
contador--; // Equivalente a: contador = contador - 1;
System.out.println("Após decremento: " + contador); // Valor: 10 (volta ao valor original)
// Podemos usar o operador mais de uma vez
contador++;
contador++;
System.out.println("Após dois incrementos: " + contador); // Valor: 12
contador--;
contador--;
contador--;
System.out.println("Após três decrementos: " + contador); // Valor: 9
}
}
Valor inicial: 10
Após incremento: 11
Após decremento: 10
Após dois incrementos: 12
Após três decrementos: 9
Vamos pegar o exemplo da aula anterior para aplicar o incremento. O resultado é o mesmo.
public class ExemploIncremento {
public static void main(String[] args) {
// Forma usando incremento com operador ++
int contador = 1;
System.out.println("Valor inicial: " + contador);
contador++; // Incrementa o valor em 1
System.out.println("Valor após incremento com '++': " + contador);
// Forma usando atribuição composta
int outroContador = 1;
System.out.println("\nValor inicial do outro contador: " + outroContador);
outroContador += 1; // Também incrementa o valor em 1
System.out.println("Valor após incremento com '+=1': " + outroContador);
// Forma usando atribuição regular
int maisUmContador = 1;
System.out.println("\nValor inicial de mais um contador: " + maisUmContador);
maisUmContador = maisUmContador + 1; // Também incrementa o valor em 1
System.out.println("Valor após incremento com '= + 1': " + maisUmContador);
// Todas as formas têm o mesmo resultado final
System.out.println("\nTodos os valores finais são 2!");
}
}
Valor inicial: 1
Valor após incremento com '++': 2
Valor inicial do outro contador: 1
Valor após incremento com '+=1': 2
Valor inicial de mais um contador: 1
Valor após incremento com '= + 1': 2
Todos os valores finais são 2!
Existem duas formas de usar os operadores de incremento e decremento: pré-incremento (++variável) e pós-incremento (variável++).
Importante: A diferença entre pré-incremento e pós-incremento é relevante apenas quando você usa o valor da variável na mesma linha em que faz o incremento ou decremento.
public class PrePosIncremento {
public static void main(String[] args) {
int a = 5;
int b = 5;
// Pós-incremento: usa o valor atual e depois incrementa
int resultadoA = a++;
// Pré-incremento: incrementa primeiro e depois usa o valor
int resultadoB = ++b;
System.out.println("Valor de a após pós-incremento: " + a); // a = 6
System.out.println("Valor de resultadoA (usando pós-incremento): " + resultadoA); // resultadoA = 5
System.out.println("\nValor de b após pré-incremento: " + b); // b = 6
System.out.println("Valor de resultadoB (usando pré-incremento): " + resultadoB); // resultadoB = 6
}
}
Valor de a após pós-incremento: 6
Valor de resultadoA (usando pós-incremento): 5
Valor de b após pré-incremento: 6
Valor de resultadoB (usando pré-incremento): 6
Explicação:
Da mesma forma, existem duas formas de usar os operadores de decremento: pré-decremento (--variável) e pós-decremento (variável--).
public class PrePosDecremento {
public static void main(String[] args) {
int a = 5;
int b = 5;
// Pós-decremento: usa o valor atual e depois decrementa
int resultadoA = a--;
// Pré-decremento: decrementa primeiro e depois usa o valor
int resultadoB = --b;
System.out.println("Valor de a após pós-decremento: " + a); // a = 4
System.out.println("Valor de resultadoA (usando pós-decremento): " + resultadoA); // resultadoA = 5
System.out.println("\nValor de b após pré-decremento: " + b); // b = 4
System.out.println("Valor de resultadoB (usando pré-decremento): " + resultadoB); // resultadoB = 4
}
}
Valor de a após pós-decremento: 4
Valor de resultadoA (usando pós-decremento): 5
Valor de b após pré-decremento: 4
Valor de resultadoB (usando pré-decremento): 4
public class ContadorLoop {
public static void main(String[] args) {
// Exemplo prático: contagem progressiva
System.out.println("Contagem progressiva:");
int contador = 1;
System.out.print(contador + " "); // Imprime 1
contador++;
System.out.print(contador + " "); // Imprime 2
contador++;
System.out.print(contador + " "); // Imprime 3
contador++;
System.out.print(contador + " "); // Imprime 4
contador++;
System.out.println(contador); // Imprime 5
// Exemplo prático: contagem regressiva
System.out.println("\nContagem regressiva:");
int regressivo = 5;
System.out.print(regressivo + " "); // Imprime 5
regressivo--;
System.out.print(regressivo + " "); // Imprime 4
regressivo--;
System.out.print(regressivo + " "); // Imprime 3
regressivo--;
System.out.print(regressivo + " "); // Imprime 2
regressivo--;
System.out.println(regressivo); // Imprime 1
}
}
1 2 3 4 5
Contagem regressiva:5 4 3 2 1
Teste seus conhecimentos sobre incremento e decremento de variáveis:
Reforce o conteúdo desta aula com mais dois exercícios práticos: