AFF Education Construa seu Futuro

Aula 12 - Incremento ou Decremento de uma Variável

Incremento ou decremento de uma variável

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:

Exemplos 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

Incremento de uma variável

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!

Pré-incremento e pós-incremento

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:

Pré-decremento e pós-decremento

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

Exemplo prático com incremento/decremento

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
    }
}
Contagem progressiva:

1 2 3 4 5

Contagem regressiva:

5 4 3 2 1

Exercícios

Teste seus conhecimentos sobre incremento e decremento de variáveis:

1. Qual será o valor final das variáveis x e y após a execução deste código?

int x = 10;
int y = x++;
x++;

2. Qual é a diferença entre pré-incremento (++i) e pós-incremento (i++)?

3. Qual será o valor da variável z após a execução deste código?

int x = 5;
int y = 3;
int z = ++x + y--;

4. Complete o código para que seja impresso os números de 1 a 5:

int numero = 1;
System.out.print(numero + " ");
_____________
System.out.print(numero + " ");
_____________
System.out.print(numero + " ");
_____________
System.out.print(numero + " ");
_____________
System.out.print(numero);

5. O que será impresso quando o seguinte código for executado?

int a = 8;
System.out.println(a--);
System.out.println(--a);
System.out.println(a);

Exercícios de Aplicação AFF Education

Reforce o conteúdo desta aula com mais dois exercícios práticos:

1. Sendo int n = 5;, qual o valor de n após executar n++; duas vezes?

2. Qual a saída de int x = 8; System.out.println(--x);?