Fala, meus consagrados! Beleza?
A declaração de variáveis em Java é um processo fundamental onde se define um espaço na memória para armazenar valores que serão utilizados ao longo do programa. Neste artigo, vamos estudar os tipos de variáveis e como declará-las na linguagem Java.
Ao declararmos uma variável, determinamos:
- Seu nome;
- Seu tipo; e
- Um possível valor inicial.
O valor literal é o valor que uma variável pode receber de acordo com seu tipo. É a nossa história da garagem para receber um Fiat Uno e que não pode receber uma Dodge Ram. Na figura 1, o valor 15 pode ser recebido perfeitamente pela variável x que do tipo int, pois esse valor está no rol de valores recebidos por uma variável desse tipo.
Para identificarmos onde uma variável foi declarada, basta vermos no código onde foi definido seu tipo (int x = 15;).
As variáveis em Java também são chamadas de campos.
Figura 1: Esquema da declaração de variáveis em Java.
Temos 4 classificações de variáveis na linguagem Java:
- Variáveis de instância;
- Variáveis de classe;
- Variáveis locais; e
- Parâmetros.
As variáveis de instância, também chamadas de campos não estáticos, são variáveis que mantêm informações específicas e individuais de cada objeto (ou instância) de uma classe. Quando instanciamos uma classe, ou seja, quando criamos um objeto a partir dela, os valores das variáveis de instância desse objeto pertencem apenas a ele.
O escopo dessas variáveis é de classe, ou seja, ao declararmos uma variável de classe, ela poderá ser vista em todo o corpo dessa classe.
As variáveis de classe são também chamadas de campos estáticos. Elas possuem o modificador static. Esse modificador informa ao compilador que haverá apenas uma cópia da variável, não importando quantas instâncias a classe tenha.
As variáveis de classe são variáveis que mantêm informações da classe e não de instâncias dessa classe e o escopo delas também é de classe.
Figura 2: Escopo das variáveis de classe e de instância.
Para variáveis de classe e de instância, o escopo delas é de classe: isso significa que elas são enxergadas em qualquer ponto dentro da classe, seja dentro de um método ou dentro de um controle de fluxo qualquer dentro do limite da classe.
As variáveis locais são variáveis criadas dentro do escopo de construtores, de métodos ou de controle de fluxos. Essas variáveis possuem escopo dessas estruturas, ou seja, são vistas apenas dentro da estrutura onde foram declaradas, ou seja, as variáveis locais podem possuir escopo de construtor, método ou controle de fluxo.
Apenas antecipando, um construtor nada mais é que um método especial com o nome igual ao nome da classe e que não possui nenhum tipo de retorno onde podemos fazer devidas inicializações de variáveis de instância quando criamos um objeto de uma classe, ou seja, quando instanciamos uma classe.
Figura 3: Escopo das variáveis locais.
Os parâmetros são valores passados para construtores, para métodos ou para cláusula catch em um bloco try-catch, cada vez que uma exceção é capturada. A declaração dos parâmetros é feita na assinatura dessas estruturas e eles possuem escopo dessas estruturas, ou seja, são vistos apenas dentro da estrutura onde foram declarados (figura 2.5): construtor, método ou cláusula catch em um bloco try-catch, cada vez que uma exceção é capturada.
Figura 4: Escopo dos parâmetros.
Quando declaramos variáveis, como já vimos, citamos seu tipo, seu nome e possivelmente um valor inicial:
int x = 15;
Normalmente, em cada linha, temos uma declaração de variável, porém, podemos ter múltiplas declarações em uma linha apenas, onde usamos vírgulas para separar as declarações:
int x = 15, y = 10;
Recomenda-se ter uma declaração por linha. Fica muito mais fácil de manter os códigos.
Importante dizer que a declaração de uma variável pode ser feita em qualquer lugar do código:
int x = 15;
System.out.println(x);
int y = 10;
Entretanto, se quiser, ao invés de “x”, imprimir o valor de “y”, no nosso exemplo, eu deveria declarar “y” antes do System.out.println:
int x = 15;
int y = 10;
System.out.println(y);
Para declararmos uma variável de classe, basta usar o modificador static:
public static int quantidadePortas = 2;
Quando desejo que uma variável tenha apenas um valor e que esse valor não possa ser modificado, ou seja, uma constante, utilizo o modificador final. Com isso, teremos uma variável final. Podemos aplicar esse modificador nos seguintes tipos de variáveis em Java:
- Variáveis de classe;
- Variáveis de instância;
- Variáveis locais; e
- Parâmetros.
Exemplos:
public static final String NOME_CLASSE = “Pessoa”;
final int x = 3;
public nomeMetodo(final int y) {
…
}
Para finalizarmos, deixarei um exemplo de classe, tendo variável de instância, variável de classe, variável final, parâmetro e variável local:
public class Main {
private int variavelInstancia = 15;
private static int variavelClasse = 20;
private static final int variavelFinal = 25;
public void metodo(int parametro) {
int variavelLocal = 35;
System.out.println(variavelInstancia);
System.out.println(variavelClasse);
System.out.println(variavelFinal);
System.out.println(parametro);
System.out.println(variavelLocal);
// A variavel i é uma variável local da estrutra de repetição. Ela só pode ser vista dentro dessa estrutura.
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
}
public static void main(String[] args) {
Main vo = new Main();
vo.metodo(30);
}
}
Resultado da execução do exemplo acima:
15
20
25
30
35
0
1
2
3
4
Espero que tenham gostado!
Forte abraço e até a próxima jornada!
_________________________
Professor Rogerão Araújo
Quer ficar por dentro dos concursos públicos abertos e previstos pelo Brasil?
clique nos links abaixo:
Receba gratuitamente no seu celular as principais notícias do mundo dos concursos!
clique no link abaixo e inscreva-se gratuitamente: