Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Entender a declaração de variáveis
  2. Entender a declaração de constantes
  3. Dar nomes as variáves e constantes
  4. Ver exemplos declarações
  5. Entender sobre escopo de variáveis e constantes
  6. Ver tabela de palavras reservadas
  7. Tamanho de uma variável
  8. Tipo da variável
  9. Inferência com var
  10. Identificador (_)

Para escrever nossos programas na linguagem Java, precisamos saber como declarar variáveis e constantes que vão armazenar os dados. Nesta parte do tutorial vamos aprender sobre variáveis, constantes e escopo dessas.

Para ver os conceitos básicos sobre variáveis e constantes visite Portugol: Variáveis e Portugol: Constantes.

O escopo de variáveis e constantes também foi discutido em Tutorial C++: Variáveis.

Sobre classes, o tópico C++: Classes pode ser conferido.

As variáveis em Java são declaradas como na sintaxe mostrada abaixo. Os tipos de dados primitivos ou classes podem ser utilizados. Para dados primitivos ou não, a sintaxe é semelhante a linguagem C++.

Sintaxe
tipo_dado nome_variavel;
Onde
tipo_dado: Tipo de dado para armazenar dados da variável 

A linguagem Java permite que essa declaração seja feita em apenas uma linha. A sintaxe é semelhante ao que foi visto no exemplo acima. Nesse tipo de declaração, os nomes das variáveis são separados por ",".

Sintaxe
tipo_dado nome_variavel1, nome_variavel2, nome_variavelN;

A atribuição de valores às variáveis é feita utilizando o operador (=), podendo ser em linha ou não.

Sintaxe
tipo_dado nome_variavel1 = valor;
tipo_dado nome_variavel1 = valor1, nome_variavel2 = valor2, nome_variavelN = valorN;
Exemplo 1
public class MyClass {
    
    public static void main(String args[]) {
    
        int a = 256;
        int b = 1,c = 2, d =2;
        int e;
    }
}
Saída
-

A linguagem Java também permite a criação de constante. Essas têm seu conteúdo preservado durante toda a execução de um programa.

Tanto a atribuição quanto a atribuição são semelhantes a declaração de variáveis. A diferença está na atribuição, que para constantes deve ser feita no momento da declaração, e o uso palavra reservada final.

Assim como variáveis, a declaração de constante seja feita em apenas uma linha.

Sintaxe
final tipo_dado NOME_CONSTANTE = valor_inicial;

final tipo_dado NOME_CONSTANTE1 = valor_inicial1, NOME_CONSTANTE2 = valor_inicial2, NOME_CONSTANTEN = valor_inicialN;
Exemplo 2
public class MyClass {
    
    public static void main(String args[]) {
    
        final int a = 256;
        final int b = 1,c = 2, d =2;
    }
}
Saída

-

Uma vez declarada uma constante como no exemplo, qualquer atribuição de valor posterior a sua declaração irá gerar um erro de compilação:

Exemplo 3
public class MyClass {
    
    public static void main(String args[]) {
        final int a = 256;
        a =100;
    }
}
Saída
/MyClass.java:7: error: cannot assign a value to final variable a
a =100;
^
1 error

Para dar nomes a identificadores(variáveis, constantes, métodos e etc), podemos utilizar as convensões Pascal, Snake ou Camel case. Essas convensões foram vistas em Portugol > Convensões.

Exemplo 4

nomeVariavel : Camel Case
NomeVariavel : Pascal Case
nome_variavel : Snake Case
NOME_CONSTANTE : Snake Case

A linguagem Java utiliza as convensões acima para nomear classes, variaveis, métodos, constantes e pacotes de forma predefinida.

Exemplo 6.1

NomeClasse: Camel Case
nomeVariavel : Pascal Case
nomeMetodo : Pascal Case
NOME_CONSTANTE : Snake Case

Além das convensões vistas acima, a linguagem Java utiliza as seguintes regras que são suportadas para dar nomes a identificadores, ou seja, variáveis, classes, métodos e etc:

  1. Deve conter as letras ( a-z, A-Z), $ ou underscore (_)
  2. O primeiro caractere pode utilizar $ ou _ seguido de caracteres definidos em item 1
  3. Constantes devem utilizar letras em caixa alta.
  4. Os nomes são case-sensitive. NOME e nome são visto como sendo diferentes
  5. Uma palavra reservada não pode ser utilizada, exceto como no item 2
Exemplo 5: Identificadores incorretos
int 1idade;
int idade pessoa; //espaço entre nomes
int int; // palavra reservada;
int #idade;
Exemplo 6: Identificadores corretos
int idade;
int idade_pessoa;
int idadePessoa
int IdadePessoa

Agora que já temos conhecimento sobre os tipos básicos de dados presentes na linguagem Java, vamos ver alguns exemplos de declaração de variáveis com os tipos de dados já vistos.

Exemplo 7
    float $float = 1.99f; //tambem aceita hex
    
    double vdouble = 1.99d; //tambem aceita hex
    
    int vint = 777; 
    int hexa = 0xff;
    int octal = 010; 
    int binario = 0b10101010; //aa
    
    String str = "uma string em java";
    String strNull = null;
    
    boolean flag = false;
    
    byte codigo = 10;
    
    char caracter = 'Z';
    char charhex = 0x41; //'A'
    
    int[] vetor = {0,1,2}; //vetor
    int[][] matriz = {{1,2},{3,4}};// matriz

Classes e enumeradores serão vistos em suas respectivas seções Enum e Classe. Outros tipos de dados serão vistos ao longo do tutorial.

Para a crição de variáveis e constantes na linguagem Java, precisamos entender como funcionam os escopos local e classe.

O assunto escopo será melhor entendido após o estudo sobre O.O visto em Java: P.O.O, pois envolve métodos, atributos, modificadores de acesso entre outros.

Para a linguagem Java, por ser uma linguagem O.O, as variáveis criadas dentro de um método são consideradas locais. Essas variáveis são criada durante a execução do método e destruídas ao término da execução, quando não retornadas.

Exemplo 8
public class MyClass {
    
    public static void main(String args[]) {
    
        int a = 256; //escopo local
        final b = 1 //escopo local
    }
}
Saída
-

No exemplo cima, as váriváeis valor1 e valor2 são variáveis locais e só podem ser acessadas no escopo onde foram criadas.

Variáveis e constantes declaradas fora dos métodos, tem o escopo de classe sendo declaradas como no exemplo abaixo. Nesse escopo, as variáveis e constantes podem ser acessados por qualquer método da classe.

Exemplo 9
public class MinhaClasse{
    public int a = 100;
    public final int b = 777;
    
    public void metodo(){
        //omitido
    }
}
Saída
-

Assim como várias linguagens, Java possui suas palavras reservadas que são reconhecidas internamente como comandos e não podem ser utilizadas na declaração de identificadores como mencionando.

byte case catch char
do double else enum
extends final finally float
for goto if implements
import instanceof int interface
long native new package
private protected public return
short static strictfp this
throws transient try void
volatile while - -
  1. 22/07/2025 - revisão 4 - Correção: Ordem escopo/exemplos de variáveis; Ajuste em estilo de sintaxes; melhorias pontuais
  2. 23/09/2024 - revisão 3 - Correção em sintaxe 'Constantes', link POO em 'escopo'; ajustes gramaticais e outros
  3. 02/09/2024 - revisão 2 - Correção em link de objetivo: Dar nomes as variáves e constantes
  4. 06/02/2024 - revisão 1 - correção em navegação e erros gramaticais
  5. 04/09/2023 - versão inicial