AFF Education Construa seu Futuro

Aula 15 - Variáveis: Declaração e Atribuição

Variáveis: declaração e atribuição juntos

As variáveis podem ser declaradas e atribuídas na mesma linha de comando, como no exemplo abaixo.

public class DeclaracaoAtribuicaoJuntas {
    public static void main(String[] args) {
        // Declaração e atribuição na mesma linha
        int idade = 25;
        double altura = 1.75;
        String nome = "Maria Silva";
        boolean estudante = true;
        char sexo = 'F';
        
        // Exibindo os valores das variáveis
        System.out.println("Nome: " + nome);
        System.out.println("Idade: " + idade + " anos");
        System.out.println("Altura: " + altura + " metros");
        System.out.println("Sexo: " + sexo);
        System.out.println("É estudante: " + estudante);
    }
}

Nome: Maria Silva

Idade: 25 anos

Altura: 1.75 metros

Sexo: F

É estudante: true

Dica: Declarar e atribuir uma variável na mesma linha é a forma mais comum e prática. É útil quando você já conhece o valor inicial que deseja atribuir à variável.

Variáveis: declaração primeiro, atribuição depois

Mas as variáveis podem ser declaradas primeiro e atribuídas em seguida.

public class DeclaracaoAtribuicaoSeparadas {
    public static void main(String[] args) {
        // Declaração das variáveis sem atribuição inicial
        int idade;
        double altura;
        String nome;
        boolean estudante;
        char sexo;
        
        // Atribuição das variáveis após a declaração
        idade = 30;
        altura = 1.80;
        nome = "João Santos";
        estudante = false;
        sexo = 'M';
        
        // Exibindo os valores das variáveis
        System.out.println("Nome: " + nome);
        System.out.println("Idade: " + idade + " anos");
        System.out.println("Altura: " + altura + " metros");
        System.out.println("Sexo: " + sexo);
        System.out.println("É estudante: " + estudante);
    }
}

Nome: João Santos

Idade: 30 anos

Altura: 1.8 metros

Sexo: M

É estudante: false

Observação: Separar a declaração da atribuição pode ser útil quando o valor a ser atribuído depende de alguma lógica ou cálculo que ocorre entre a declaração e a atribuição.

Atribuição por valor

É possível atribuir o valor de uma variável a outra variável do mesmo tipo.

public class AtribuicaoPorValor {
    public static void main(String[] args) {
        // Declaração e atribuição da primeira variável
        int numero1 = 10;
        System.out.println("Número 1: " + numero1);
        
        // Declaração da segunda variável e atribuição do valor da primeira
        int numero2 = numero1;
        System.out.println("Número 2: " + numero2);
        
        // Mudando o valor da primeira variável
        numero1 = 20;
        
        // Note que a segunda variável não é afetada
        System.out.println("\nApós mudar número 1:");
        System.out.println("Número 1: " + numero1);
        System.out.println("Número 2: " + numero2);
        
        // Exemplo com String
        String nome1 = "Ana";
        String nome2 = nome1;
        
        nome1 = "Ana Maria";
        
        System.out.println("\nExemplo com Strings:");
        System.out.println("Nome 1: " + nome1);
        System.out.println("Nome 2: " + nome2);
    }
}

Número 1: 10

Número 2: 10

Após mudar número 1:

Número 1: 20

Número 2: 10

Exemplo com Strings:

Nome 1: Ana Maria

Nome 2: Ana

Importante: Quando atribuímos o valor de uma variável a outra, estamos copiando o valor, não criando uma referência. Ou seja, se mudarmos o valor da variável original depois da atribuição, a cópia não será afetada.

Isso é verdade para tipos primitivos (int, double, char, boolean, etc.) e também para Strings em Java, embora o comportamento para outros objetos possa ser diferente (atribuição por referência).

Declaração múltipla de variáveis

Em Java, podemos declarar várias variáveis do mesmo tipo em uma única linha, separando-as por vírgula.

public class DeclaracaoMultipla {
    public static void main(String[] args) {
        // Declaração múltipla de variáveis do mesmo tipo
        int a, b, c;
        
        // Atribuição separada para cada variável
        a = 10;
        b = 20;
        c = 30;
        
        System.out.println("a = " + a);
        System.out.println("b = " + b);
        System.out.println("c = " + c);
        
        // Declaração múltipla com atribuição na mesma linha
        double x = 5.5, y = 10.5, z = 15.5;
        
        System.out.println("\nx = " + x);
        System.out.println("y = " + y);
        System.out.println("z = " + z);
        
        // Não é possível declarar variáveis de tipos diferentes na mesma linha
        // O código abaixo NÃO funciona:
        // int idade; String nome; // ERRO de compilação
    }
}

a = 10

b = 20

c = 30

x = 5.5

y = 10.5

z = 15.5

Atenção: Embora a declaração múltipla possa deixar o código mais conciso, ela pode também reduzir a legibilidade. Use com moderação, especialmente quando as variáveis têm propósitos diferentes.

Exercícios

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

1. Qual das seguintes opções declara e atribui corretamente uma variável do tipo double?

2. Qual dessas declarações múltiplas está correta em Java?

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

{
    int x = 10;
}
System.out.println(x);

4. Considere o seguinte código:

int a = 5;
int b = a;
a = 10;
System.out.println(b);

O que será impresso na tela?

5. Complete o código abaixo para declarar três variáveis inteiras (a, b e c) em uma única linha e atribuir os valores 5, 10 e 15 respectivamente:

__________________________;

Exercícios de Aplicação AFF Education

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

1. Qual a diferença entre declaração e atribuição em int x; x = 10;?

2. O que acontece ao tentar imprimir uma variável local int x; sem nunca atribuir valor?