AFF Education Construa seu Futuro

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

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

Resumo: Além dos operadores de incremento e decremento que vimos na aula anterior, existem várias formas de atualizar o valor de uma variável usando operações matemáticas com outras variáveis.

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

A atualização de atribuição de uma variável também pode ser feita por uma operação matemática dessa variável por um número e isso pode ser feito de duas formas diferentes.

public class AtualizacaoVariaveis {
    public static void main(String[] args) {
        // Declarando variáveis
        int a = 10;
        int b = 5;
        int c = 8;
        
        // Atualização usando operação com outra variável
        a = a + b;  // a recebe o seu valor atual (10) mais o valor de b (5)
        System.out.println("a = a + b: " + a);  // a = 15
        
        // Usando o operador de atribuição composta (forma abreviada)
        c += b;  // c recebe o seu valor atual (8) mais o valor de b (5)
        System.out.println("c += b: " + c);  // c = 13
        
        // Outros exemplos de atualização com diferentes operações
        
        // Subtração
        a = a - b;  // a recebe o seu valor atual (15) menos o valor de b (5)
        System.out.println("a = a - b: " + a);  // a = 10
        
        // Subtração (forma abreviada)
        c -= b;  // c recebe o seu valor atual (13) menos o valor de b (5)
        System.out.println("c -= b: " + c);  // c = 8
        
        // Multiplicação
        a = a * 2;  // a recebe o seu valor atual (10) multiplicado por 2
        System.out.println("a = a * 2: " + a);  // a = 20
        
        // Multiplicação (forma abreviada)
        c *= 3;  // c recebe o seu valor atual (8) multiplicado por 3
        System.out.println("c *= 3: " + c);  // c = 24
        
        // Divisão
        a = a / 4;  // a recebe o seu valor atual (20) dividido por 4
        System.out.println("a = a / 4: " + a);  // a = 5
        
        // Divisão (forma abreviada)
        c /= 6;  // c recebe o seu valor atual (24) dividido por 6
        System.out.println("c /= 6: " + c);  // c = 4
        
        // Módulo (resto da divisão)
        a = a % 2;  // a recebe o resto da divisão do seu valor atual (5) por 2
        System.out.println("a = a % 2: " + a);  // a = 1 (resto de 5 dividido por 2)
        
        // Módulo (forma abreviada)
        c %= 3;  // c recebe o resto da divisão do seu valor atual (4) por 3
        System.out.println("c %= 3: " + c);  // c = 1 (resto de 4 dividido por 3)
    }
}

a = a + b: 15

c += b: 13

a = a - b: 10

c -= b: 8

a = a * 2: 20

c *= 3: 24

a = a / 4: 5

c /= 6: 4

a = a % 2: 1

c %= 3: 1

Atualização de diferentes tipos de variáveis

public class AtualizacaoDiferentesTipos {
    public static void main(String[] args) {
        // Atualização de variáveis int
        int contador = 0;
        System.out.println("Valor inicial de contador: " + contador);
        
        contador += 10;  // Adiciona 10 ao valor atual
        System.out.println("Contador após += 10: " + contador);
        
        // Atualização de variáveis double
        double preco = 100.0;
        System.out.println("\nValor inicial de preço: " + preco);
        
        // Aplicando um desconto de 10%
        preco -= preco * 0.1;  // preco = preco - (preco * 0.1)
        System.out.println("Preço após desconto de 10%: " + preco);
        
        // Aplicando um aumento de 5%
        preco *= 1.05;  // preco = preco * 1.05
        System.out.println("Preço após aumento de 5%: " + preco);
        
        // Atualização de Strings
        String mensagem = "Olá";
        System.out.println("\nValor inicial da mensagem: " + mensagem);
        
        // Concatenando strings
        mensagem += " Mundo";  // mensagem = mensagem + " Mundo"
        System.out.println("Mensagem após += \" Mundo\": " + mensagem);
        
        mensagem += "!";  // mensagem = mensagem + "!"
        System.out.println("Mensagem após += \"!\": " + mensagem);
    }
}

Valor inicial de contador: 0

Contador após += 10: 10

Valor inicial de preço: 100.0

Preço após desconto de 10%: 90.0

Preço após aumento de 5%: 94.5

Valor inicial da mensagem: Olá

Mensagem após += " Mundo": Olá Mundo

Mensagem após += "!": Olá Mundo!

Nota: As Strings em Java são imutáveis, isso significa que quando você atualiza uma variável String, na verdade você está criando uma nova String. O operador += para Strings é uma conveniência que oculta essa operação.

Resumo dos operadores de atribuição

Operador Exemplo Equivalente a Descrição
= x = y x = y Atribuição simples
+= x += y x = x + y Adição e atribuição
-= x -= y x = x - y Subtração e atribuição
*= x *= y x = x * y Multiplicação e atribuição
/= x /= y x = x / y Divisão e atribuição
%= x %= y x = x % y Módulo e atribuição

Exemplo prático

Vamos ver um exemplo prático que calcula o preço final de um produto com imposto e frete:

public class CalculoPrecoFinal {
    public static void main(String[] args) {
        // Preço original do produto
        double precoProduto = 159.90;
        System.out.println("Preço original do produto: R$" + precoProduto);
        
        // Adicionando imposto de 15%
        double taxaImposto = 0.15; // 15%
        precoProduto += precoProduto * taxaImposto;
        System.out.println("Preço com imposto: R$" + precoProduto);
        
        // Adicionando frete fixo
        double valorFrete = 12.50;
        precoProduto += valorFrete;
        System.out.println("Preço final (com imposto e frete): R$" + precoProduto);
        
        // Aplicando desconto para pagamento à vista (5%)
        double desconto = 0.05; // 5%
        double precoComDesconto = precoProduto - (precoProduto * desconto);
        System.out.println("Preço com desconto para pagamento à vista: R$" + precoComDesconto);
        
        // Calculando valor das parcelas (em 3x sem juros)
        int numeroParcelas = 3;
        double valorParcela = precoProduto / numeroParcelas;
        System.out.println("Valor da parcela (em " + numeroParcelas + "x sem juros): R$" + valorParcela);
    }
}

Preço original do produto: R$159.9

Preço com imposto: R$183.885

Preço final (com imposto e frete): R$196.385

Preço com desconto para pagamento à vista: R$186.56575

Valor da parcela (em 3x sem juros): R$65.46166666666666

Exercícios

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

1. Qual operação NÃO é equivalente a "x = x + y"?

2. Qual será o valor da variável "total" após a execução do seguinte código?

double total = 100.0;
double taxa = 0.2;
total *= (1 + taxa);

3. Complete o código para calcular o preço total de um pedido incluindo uma taxa de entrega:

double precoProduto = 75.0;
double taxaEntrega = 8.5;
double precoTotal = ___________________;

4. O que acontece com a variável "mensagem" após a execução deste código?

String mensagem = "Java ";
mensagem += "é ";
mensagem += "incrível!";

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

int numero = 10;
numero += 5;
numero /= 3;
numero *= 2;
numero %= 7;

Exercícios de Aplicação AFF Education

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

1. Após int total = 50; total *= 2;, qual o valor de total?

2. O operador composto /= em x /= 4; significa: