Da trilha de Java Este conceito ainda não saiu como card do dia. ir para o card de hoje

Java Fundamentos Básico

Variáveis e tipos primitivos

Em Java, as variáveis são espaços na memória que armazenam valores. Cada variável tem um tipo, que define o que pode ser guardado e quais operações são permitidas. Os tipos primitivos são os mais básicos: int (inteiros de 32 bits), long (inteiros de 64 bits), double (números decimais de precisão dupla), boolean (true/false) e char (um caractere Unicode).

Os literais são os valores escritos diretamente no código, como 10, 3.14, 'A' ou true. Para long, usamos o sufixo L (ex.: 100L); para float, f; para double, o ponto decimal é obrigatório (ex.: 3.0).

A partir do Java 10, a palavra-chave var permite inferência de tipo para variáveis locais: o compilador descobre o tipo a partir do valor inicial. Por exemplo, var idade = 25; cria uma variável do tipo int. Isso não significa tipagem dinâmica; o tipo é fixado em tempo de compilação.

Cada primitivo tem uma classe wrapper correspondente (Integer, Long, Double, Boolean, Character) que permite usá-los em coleções e métodos genéricos. O Java faz autoboxing (converte primitivo para wrapper automaticamente) e unboxing (o contrário). É importante conhecer as diferenças, especialmente ao comparar objetos com ==.

Pontos-chave

  • int armazena inteiros de 32 bits; long de 64 bits (use sufixo L).
  • double é para números decimais; boolean para true/false; char para um caractere Unicode.
  • var só pode ser usado para variáveis locais e exige inicialização na mesma linha.
  • Literais como 10, 3.14, 'A' e true têm tipos inferidos pelo compilador.
  • Wrappers (Integer, Double, etc.) permitem usar primitivos como objetos; cuidado com == vs .equals().
VariaveisTipos.java
public class VariaveisTipos {
    public static void main(String[] args) {
        // Tipos primitivos básicos
        int idade = 30;
        long populacao = 8_000_000_000L; // sufixo L para long
        double preco = 19.99;
        boolean ativo = true;
        char inicial = 'J';

        // var: inferência de tipo (Java 10+)
        var nome = "Java"; // String
        var ano = 1995;    // int

        // Wrappers e autoboxing
        Integer idadeObj = idade; // autoboxing
        Double precoObj = preco;

        System.out.println("Nome: " + nome);
        System.out.println("Idade: " + idade + " (" + idadeObj + ")");
        System.out.println("População mundial: " + populacao);
        System.out.println("Preço: " + preco + " (" + precoObj + ")");
        System.out.println("Ativo? " + ativo);
        System.out.println("Inicial: " + inicial);
        System.out.println("Ano de criação do Java: " + ano);
    }
}

Exercícios

  1. 1
    Fácil

    Declarando variáveis primitivas

    Escreva um programa que declare uma variável int chamada quantidade com valor 10, uma double chamada precoUnitario com valor 2.50, e uma boolean chamada disponivel com valor true. Imprima cada uma no formato nome = valor.

    Resolver
  2. 2
    Médio

    Usando var e wrappers

    Crie um programa que use var para declarar uma variável mensagem com o texto "Olá, Java!" e uma variável numero com o valor 42. Em seguida, crie um Integer a partir de numero usando autoboxing e imprima a mensagem, o número e o wrapper. Mostre também a classe do wrapper usando getClass().getSimpleName().

    Resolver
  3. 3
    Desafio

    Calculando média com tipos e wrappers

    Escreva um programa que receba três notas (como double) e calcule a média aritmética. Use var para declarar as notas e a média. Depois, crie um Double a partir da média e compare se o valor primitivo e o wrapper são iguais usando == e .equals(). Imprima a média formatada com duas casas decimais e os resultados das comparações.

    Resolver

Continue estudando