Variáveis e Tipos de Dados — Java
O que é isso e para que serve?
Imagine que você está jogando um jogo de computador. Você tem um inventário — uma mochila onde guarda diferentes itens: uma espada, uma poção de vida, um mapa do tesouro. Na programação, essa "mochila" é chamada de variável. É uma caixinha onde você pode colocar alguma informação e dar um nome a ela.
Para que serve isso? Digamos que você está escrevendo um programa que parabeniza o usuário pelo aniversário. O nome do usuário pode ser diferente — hoje "Maria", amanhã "Pedro". Em vez de reescrever o código toda vez, você cria uma variável nome e escreve o nome desejado uma vez. O próprio programa o substituirá no texto da saudação!
Agora, sobre tipos de dados. Voltemos à mochila. Você não colocaria maçãs no bolso das moedas, nem moedas no bolso do mapa. Em Java, também existem diferentes "bolsos" para diferentes coisas:
- Números (inteiros e decimais)
- Palavras e letras (texto)
- Verdadeiro/Falso (sim ou não)
Java é uma linguagem rigorosa. Ela exige que você diga antecipadamente: "Nesta caixinha só terão números inteiros!" ou "Aqui só tem texto!". Em Python isso não existe — lá você pode colocar qualquer coisa em qualquer lugar. Mas em Java, isso ajuda a evitar erros. Imagine que você colocou água por engano no bolso das moedas — as moedas estragariam. Java não deixa você fazer isso!
Vamos entender passo a passo. Primeiro, aprenderemos a criar variáveis, e depois conheceremos os tipos de dados e para que servem.
Exemplos de código com explicação
Exemplo 1: Primeira variável — olá, mundo!
Vamos começar pelo mais simples. Vamos criar uma variável que armazena texto (palavra ou frase). Em Java, para texto, usamos o tipo String (com letra maiúscula!).
// Declaramos (criamos) uma variável com o nome "saudacao"
// Tipo String — significa que vamos armazenar texto
String saudacao;
// Agora colocamos um valor nela (texto entre aspas)
saudacao = "Olá, mundo!";
// E agora exibimos o conteúdo da variável na tela
System.out.println(saudacao);
// Na tela aparecerá: Olá, mundo!
Explicação para iniciantes:
String— é o tipo "string" (texto). Em Python você escreveria apenassaudacao = "Olá, mundo!", mas em Java precisa primeiro dizer qual será o tipo da variável.- O ponto e vírgula
;no final de cada comando é como um ponto final. Java não entenderia onde o comando termina sem ele. System.out.println()— comando "imprima e pule para a próxima linha". Comoprint()em Python.
Podemos combinar a criação e a atribuição em uma única linha:
// Criamos uma variável e já colocamos um valor nela
String nome = "Alice";
System.out.print("Olá, ");
System.out.println(nome);
// Na tela: Olá, Alice
Observe: System.out.print() (sem ln) não pula para a próxima linha, mas continua imprimindo na mesma linha.
Exemplo 2: Números inteiros — contando maçãs
Para números inteiros (sem parte decimal) em Java, existe o tipo int (de integer — número inteiro).
// Declaramos uma variável para a quantidade de maçãs
int macas;
// Colocamos o número 10
macas = 10;
// Podemos fazer matemática!
int peras = 5; // criamos e já colocamos 5
int total_frutas; // apenas criamos, por enquanto vazio
// Somamos maçãs e peras
total_frutas = macas + peras;
// Exibimos o resultado
System.out.print("Total de frutas: ");
System.out.println(total_frutas);
// Na tela: Total de frutas: 15
O que é importante lembrar:
- Nomes de variáveis são escritos juntos ou com sublinhado. Não podem conter espaços.
- A matemática funciona como na vida real:
+,-,*(multiplicar),/(dividir). - Em Java, ao contrário do Python, você não pode simplesmente escrever
macas = "dez"se a variável foi declarada comoint. Java dirá: "Erro! Você prometeu um número, mas está dando texto!"
Vamos tentar calcular quantas maçãs cada um ganhará se dividirmos igualmente entre 3 amigos:
int macas = 10;
int amigos = 3;
// Dividimos as maçãs pelos amigos (atenção! inteiro dividido por inteiro resulta em inteiro)
int cada_um = macas / amigos;
System.out.println("Cada amigo ganhará " + cada_um + " maçãs");
// Na tela: Cada amigo ganhará 3 maçãs
O truque: 10 dividido por 3 é 3.333..., mas int descarta a parte decimal! Java não arredonda, apenas corta a "cauda". Se precisar de divisão exata, use double (veja o próximo exemplo).
Exemplo 3: Números decimais — dinheiro e altura
Para números com parte decimal (por exemplo, 3.14 ou 2.5) em Java, existem os tipos double e float. Usaremos double — ele é mais preciso.
// Preço da pizza — 450 reais e 50 centavos
double preco_pizza = 450.50;
// Quantas pizzas compraremos?
int quantidade = 3;
// Calculamos o custo total
double custo_total = preco_pizza * quantidade;
System.out.println("Custo total: " + custo_total + " reais");
// Na tela: Custo total: 1351.5 reais
Importante! Em Java, a parte decimal é separada por ponto, não por vírgula. 450,50 causará um erro. Lembre-se: o ponto é a "vírgula decimal" para o computador.
Outro exemplo — calculando a média escolar:
double matematica = 4.5;
double portugues = 3.0;
double fisica = 5.0;
// Somamos e dividimos pela quantidade de matérias
double media = (matematica + portugues + fisica) / 3;
System.out.println("Média: " + media);
// Na tela: Média: 4.166666666666667
Viu quantos dígitos após a vírgula? Isso é normal. Se precisar mostrar apenas d