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.
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.
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
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.
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
Teste seus conhecimentos sobre atualização de atribuição de variáveis:
Reforce o conteúdo desta aula com mais dois exercícios práticos: