Variáveis e Tipos de Dados
Variáveis são contêineres para armazenar dados. Esta lição cobre variáveis e tipos de dados em Java.
O que é uma Variável
Uma variável é um local de armazenamento na memória que contém dados.
Três Elementos de uma Variável
| Elemento | Descrição | Exemplo |
|---|---|---|
| Tipo | Que tipo de dados armazenar | int, double, String |
| Nome | Como encontrar esta variável | age, price, name |
| Valor | Os dados armazenados na variável | 25, 9.99, "Alice" |
Declarando Variáveis
// Declarar primeiro, atribuir depois
int age;
age = 25;
// Declarar e atribuir
int age = 25;
// Declarar múltiplas variáveis do mesmo tipo
int x = 1, y = 2, z = 3;
Regras de Nomenclatura
Regras de Sintaxe (Devem ser Seguidas)
| Regra | Correto | Incorreto |
|---|---|---|
| Só pode conter letras, dígitos, sublinhado, $ | myVar |
my-var |
| Não pode começar com dígito | name1 |
1name |
| Não pode usar palavras-chave Java | myClass |
class |
| Diferencia maiúsculas de minúsculas | age ≠ Age |
— |
Convenções de Nomenclatura (Recomendadas)
| Convenção | Exemplo | Descrição |
|---|---|---|
| camelCase | myVariableName |
Variáveis e métodos |
| Nomes significativos | studentAge |
Evite a, b, temp |
| Constantes em MAIÚSCULAS | MAX_VALUE |
Separe com sublinhados |
Tipos de Dados Primitivos
Java tem 8 tipos de dados primitivos.
Tipos Inteiros
| Tipo | Tamanho | Intervalo | Exemplo |
|---|---|---|---|
byte |
1 byte | -128 a 127 | byte b = 100; |
short |
2 bytes | -32768 a 32767 | short s = 1000; |
int |
4 bytes | -2,1 bilhões a 2,1 bilhões | int i = 100000; |
long |
8 bytes | Intervalo muito maior | long l = 100L; |
int por padrão. Use long (com sufixo L) quando precisar de um intervalo maior.
Tipos de Ponto Flutuante
| Tipo | Tamanho | Precisão | Exemplo |
|---|---|---|---|
float |
4 bytes | 6-7 casas decimais | float f = 3.14f; |
double |
8 bytes | 15 casas decimais | double d = 3.14; |
double por padrão. Adicione o sufixo f quando precisar de float.
Tipo Caractere
char c1 = 'A'; // Caractere único em aspas simples
char c2 = 'B'; // Pode armazenar qualquer caractere
char c3 = 65; // Também pode usar valores de código ASCII
Tipo Booleano
boolean isTrue = true;
boolean isFalse = false;
true ou false. Não podem ser representados como 0 ou 1.
Tipos de Dados de Referência
Tudo além dos 8 tipos primitivos é um tipo de referência.
Tipos de Referência Comuns
String name = "Alice"; // String
int[] arr = {1, 2, 3}; // Array
Object obj = new Object(); // Object
String
// Strings usam aspas duplas
String greeting = "Hello, World!";
// Concatenação de strings
String fullName = "John" + " " + "Doe";
// Comprimento da string
int len = greeting.length(); // 13
Conversão de Tipos
Conversão Automática de Tipos (pequeno → grande)
int i = 100;
long l = i; // int converte automaticamente para long
double d = i; // int converte automaticamente para double
Conversão Explícita de Tipos (grande → pequeno)
double d = 3.14;
int i = (int) d; // Conversão explícita, resultado é 3 (decimal truncado)
long l = 100;
int i = (int) l; // Conversão explícita
Exemplo: Conversão de Tipos
public class TypeConversion {
public static void main(String[] args) {
// Conversão automática de tipos
int a = 100;
long b = a;
double c = a;
System.out.println("int: " + a); // 100
System.out.println("long: " + b); // 100
System.out.println("double: " + c); // 100.0
// Conversão explícita de tipos
double d = 3.99;
int e = (int) d;
System.out.println("double: " + d); // 3.99
System.out.println("int: " + e); // 3 (truncado, não arredondado)
}
}
Constantes final
Use a palavra-chave final para definir constantes. Uma vez atribuído, seu valor não pode ser alterado.
final double PI = 3.14159;
final String APP_NAME = "MyApp";
final int MAX_SIZE = 100;
// PI = 3.14; // Erro! Constantes não podem ser modificadas
Inferência de Tipo de Variável Local var
Java 10 introduziu a palavra-chave var, que permite inferência automática de tipo para variáveis locais.
// Abordagem tradicional
String name = "Alice";
ArrayList<String> list = new ArrayList<String>();
// Usando var
var name = "Alice"; // Inferido automaticamente como String
var list = new ArrayList<String>(); // Inferido automaticamente como ArrayList<String>
var só pode ser usado para variáveis locais, não para variáveis de membro de classe ou parâmetros de método.
❓ Perguntas Frequentes
P: Qual é a diferença entre int e Integer? R: int é um tipo primitivo, Integer é uma classe wrapper (tipo de referência). Integer pode ser null, int não pode.
P: Como escolher entre float e double? R: Geralmente use double para maior precisão. Use float apenas quando precisar economizar memória ou processar grandes quantidades de dados de ponto flutuante.
P: String é um tipo primitivo? R: Não. String é um tipo de referência, mas o Java tem suporte especial para ela, permitindo atribuição direta com literais de string.
📖 Resumo
- Variáveis são contêineres para armazenar dados com três elementos: tipo, nome e valor
- Java tem 8 tipos primitivos: byte/short/int/long/float/double/char/boolean
- Use int e double por padrão; use long e float quando maior intervalo for necessário
- A conversão de tipos é dividida em automática (pequeno → grande) e explícita (grande → pequeno)
- final define constantes cujos valores não podem ser alterados
- var permite inferência automática de tipo (Java 10+)
📝 Exercícios
- Prática com variáveis: Defina variáveis para armazenar seu nome, idade, altura e peso, depois imprima-as
- Conversão de tipos: Converta o valor double 3.14 para int e observe o resultado; converta o valor int 100 para double e observe o resultado
- Prática com constantes: Defina uma constante PI para a constante matemática π, e calcule a área de um círculo com raio 5
Próxima Lição
Na próxima lição, aprenderemos sobre Operadores — entendendo várias operações em Java.



