AFF Education Construa seu Futuro

Aula 11 - Atualização de Atribuição de uma Variável

Atualização de atribuição de uma variável

Uma variável varia, ou seja, o valor atribuído a ela pode mudar (atualizar). Uma variável depois de atribuída pode ser dada a ela um novo valor (uma nova atribuição).

Importante: Em Java, você pode modificar o valor de uma variável a qualquer momento, reatribuindo um novo valor a ela. Isso é fundamental para criar programas dinâmicos que respondem a diferentes situações e dados.

Variável variando

public class VariavelVariando {
    public static void main(String[] args) {
        // Declaração e primeira atribuição
        int contador = 1;
        
        // Exibindo o valor inicial
        System.out.println("Valor inicial do contador: " + contador);
        
        // Atualizando o valor da variável (reatribuição)
        contador = 2;
        System.out.println("Valor após primeira atualização: " + contador);
        
        // Atualizando novamente o valor
        contador = 3;
        System.out.println("Valor após segunda atualização: " + contador);
        
        // Atualizando com base no valor atual
        contador = contador + 1;  // Aumenta o valor por 1
        System.out.println("Valor após adicionar 1: " + contador);
        
        // Atualizando novamente com base no valor atual
        contador = contador * 2;  // Dobra o valor
        System.out.println("Valor após dobrar: " + contador);
    }
}

Valor inicial do contador: 1

Valor após primeira atualização: 2

Valor após segunda atualização: 3

Valor após adicionar 1: 4

Valor após dobrar: 8

No exemplo acima, podemos ver como uma variável pode ter seu valor alterado várias vezes ao longo de um programa. Isso é chamado de reatribuição.

Atualização de atribuição de diferentes tipos de variáveis

public class AtualizacaoTipos {
    public static void main(String[] args) {
        // Atualização de uma variável int
        int idade = 25;
        System.out.println("Idade inicial: " + idade);
        
        idade = 26;  // Atribuindo um novo valor
        System.out.println("Idade atualizada: " + idade);
        
        // Atualização de uma variável double
        double preco = 10.50;
        System.out.println("\nPreço inicial: R$" + preco);
        
        preco = 11.75;  // Atribuindo um novo valor
        System.out.println("Preço atualizado: R$" + preco);
        
        // Atualização de uma variável String
        String nome = "João";
        System.out.println("\nNome inicial: " + nome);
        
        nome = "João Silva";  // Atribuindo um novo valor
        System.out.println("Nome atualizado: " + nome);
        
        // Atualização de uma variável boolean
        boolean statusAtivo = true;
        System.out.println("\nStatus inicial: " + statusAtivo);
        
        statusAtivo = false;  // Atribuindo um novo valor
        System.out.println("Status atualizado: " + statusAtivo);
    }
}

Idade inicial: 25

Idade atualizada: 26

Preço inicial: R$10.5

Preço atualizado: R$11.75

Nome inicial: João

Nome atualizado: João Silva

Status inicial: true

Status atualizado: false

Exemplos de atualização com operações matemáticas

public class AtualizacaoOperacoes {
    public static void main(String[] args) {
        // Atualização usando operações matemáticas
        int numero = 10;
        System.out.println("Valor inicial: " + numero);
        
        // Adicionando 5 ao valor atual
        numero = numero + 5;
        System.out.println("Após adicionar 5: " + numero);  // Valor: 15
        
        // Subtraindo 3 do valor atual
        numero = numero - 3;
        System.out.println("Após subtrair 3: " + numero);   // Valor: 12
        
        // Multiplicando o valor atual por 2
        numero = numero * 2;
        System.out.println("Após multiplicar por 2: " + numero);  // Valor: 24
        
        // Dividindo o valor atual por 4
        numero = numero / 4;
        System.out.println("Após dividir por 4: " + numero);  // Valor: 6
        
        // Calculando o resto da divisão por 4
        numero = numero % 4;
        System.out.println("Resto da divisão por 4: " + numero);  // Valor: 2
    }
}

Valor inicial: 10

Após adicionar 5: 15

Após subtrair 3: 12

Após multiplicar por 2: 24

Após dividir por 4: 6

Resto da divisão por 4: 2

Dica: Em Java, você pode atualizar uma variável com base em seu valor atual. Este é um padrão comum em programação e é usado para contar, acumular valores, e realizar muitas outras operações.

Operadores de atribuição composta

Java oferece formas abreviadas para escrever atualizações que envolvem operações com o valor atual da variável. Essas formas são chamadas de operadores de atribuição composta.

Operador Exemplo Equivalente a Descrição
+= x += 5; x = x + 5; Adiciona e atribui
-= x -= 3; x = x - 3; Subtrai e atribui
*= x *= 2; x = x * 2; Multiplica e atribui
/= x /= 4; x = x / 4; Divide e atribui
%= x %= 3; x = x % 3; Calcula o resto e atribui
public class OperadoresAtribuicaoComposta {
    public static void main(String[] args) {
        // Usando operadores de atribuição composta
        int numero = 10;
        
        // Adicionando 5 ao valor atual usando +=
        numero += 5;  // Equivalente a: numero = numero + 5;
        System.out.println("Após adicionar 5: " + numero);  // Valor: 15
        
        // Subtraindo 3 do valor atual usando -=
        numero -= 3;  // Equivalente a: numero = numero - 3;
        System.out.println("Após subtrair 3: " + numero);   // Valor: 12
        
        // Multiplicando o valor atual por 2 usando *=
        numero *= 2;  // Equivalente a: numero = numero * 2;
        System.out.println("Após multiplicar por 2: " + numero);  // Valor: 24
        
        // Dividindo o valor atual por 4 usando /=
        numero /= 4;  // Equivalente a: numero = numero / 4;
        System.out.println("Após dividir por 4: " + numero);  // Valor: 6
        
        // Calculando o resto da divisão por 4 usando %=
        numero %= 4;  // Equivalente a: numero = numero % 4;
        System.out.println("Resto da divisão por 4: " + numero);  // Valor: 2
    }
}

Após adicionar 5: 15

Após subtrair 3: 12

Após multiplicar por 2: 24

Após dividir por 4: 6

Resto da divisão por 4: 2

Exercícios

Teste seus conhecimentos sobre atualização de atribuição de variáveis:

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

int x = 5;
x = x + 3;
x = x * 2;
x = x - 4;

2. Qual é a forma abreviada correta para a seguinte atribuição: contador = contador + 10;

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

int resultado = 20;
resultado /= 4;
resultado *= 3;

4. Complete o código para que o valor da variável total seja atualizado somando a ela o valor da variável acrescimo:

double total = 100.0;
double acrescimo = 25.5;
_________________;

5. O que acontece quando executamos o seguinte código?

String mensagem = "Olá";
mensagem += " Mundo!";
System.out.println(mensagem);

Exercícios de Aplicação AFF Education

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

1. Após int saldo = 100; saldo = saldo - 30;, qual o valor de saldo?

2. O comando pontos += 10; é equivalente a: