Fundamentos de Tipos de Dados e Extensões em Java

Ao configurar um projeto Java, é necessário primeiro criar um módulo para gerar a estrutura de diretórios src. Configure o JDK e a lignuagem nas configurações do projeto.

Java suporta três formas de comentários: linha única com //, múltiplas linhas com /* */, e documentação com /** */. Exemplo:


public class ProgramaDemo {
    public static void main(String[] args) {
        // Saída de teste
        /*
        Comentário em bloco
        para múltiplas linhas
        */
        System.out.println("Olá, desenvolvedor!");
    }
}

Identificadores e palavras-chave são sensíveis a maiúsculas e minúsculas. Palavras reservadas não podem ser usadas como nomes de variáveis.

Java é uma linguagem fortemente tipada: todas as variáveis devem ser declaradas com tipo antes do uso. Um erro comum é tentar imprimir uma variável não inicializada:


public class ErroTipagem {
    public static void main(String[] args) {
        int quantidade;
        System.out.println(quantidade); // Erro de compilação
    }
}

Correção:


public class CorretoTipagem {
    public static void main(String[] args) {
        int total = 100;
        System.out.println(total);
    }
}

Existem oito tipos primitivos: int, byte, short, long, float, double, char e boolean. Tipos como long requerem sufixo L e float sufixo F.


public class TiposPrimitivosDemo {
    public static void main(String[] args) {
        int contador = 50;
        byte minimo = 100;
        short meio = 2000;
        long extenso = 123456789L;
        float precisao = 9.81F;
        double duplo = 3.14159D;
        char simbolo = '@';
        boolean ativo = true;
        // String é uma classe, não primitivo
        String texto = "Exemplo";
    }
}

Para inteiros em diferentes bases: decimal padrão, octal com prefixo 0, hexadecimal com 0x. Exemplo:


public class BasesDemo {
    public static void main(String[] args) {
        int dez = 10; // Decimal
        int oito = 010; // Octal = 8
        int dezesseis = 0x10; // Hexadecimal = 16
        System.out.println("Decimal: " + dez);
        System.out.println("Octal: " + oito);
        System.out.println("Hexadecimal: " + dezesseis);
    }
}

Cuidado ao comparar números de ponto flutuante devido a erros de arredondamento. Caracteres são baseados no Unicode, com valores inteiros associados:


public class CaractereDemo {
    public static void main(String[] args) {
        char letra = 'M';
        System.out.println("Caractere: " + letra);
        System.out.println("Código Unicode: " + (int)letra);
        char escapado = '\u004D'; // 'M'
        System.out.println("Escapado: " + escapado);
    }
}

Caracteres de escape incluem \t para tabulação e \n para nova linha. Para booleanos, use expressões concisas:


public class BooleanDemo {
    public static void main(String[] args) {
        boolean condicao = true;
        if (condicao) {
            System.out.println("Ativo");
        }
        // Em vez de if (condicao == true) para simplificar
    }
}

Conversão de tipos pode ser implícita (de menor para maior) ou explícita (com cast). Cast de inteiros grandes para byte pode causar overflow:


public class ConversaoDemo {
    public static void main(String[] args) {
        int grande = 300;
        byte pequeno = (byte)grande; // Overflow, resultado 44
        System.out.println("Original: " + grande);
        System.out.println("Convertido: " + pequeno);
        double auto = grande; // Conversão automática
        System.out.println("Auto-conversão: " + auto);
    }
}

Strings são objetos em Java. A comparação com == verifica referência, não conteúdo:


public class StringDemo {
    public static void main(String[] args) {
        String s1 = new String("teste");
        String s2 = new String("teste");
        System.out.println(s1 == s2); // false, objetos diferentes
        String s3 = "teste";
        String s4 = "teste";
        System.out.println(s3 == s4); // true, mesma referência na pool
    }
}

Tags: java Primitive Data Types Type Conversion Unicode Syntax

Publicado em 6-1 15:51 por Thomas