Tipos

Java é uma linguagem fortemente tipada, ou seja, todas as variáveis precisam ter um tipo definido em tempo de compilação. Existem dois tipos de tipos em Java: tipos primitivos e tipos de referência.

Tipos Primitivos

Os tipos primitivos em Java são: boolean, byte, short, int, long, float, double e char. Eles são chamados de primitivos porque não são objetos. Eles são armazenados na memória de forma direta e não por referência.

Além dos tipos especificados acima, é importante mencionar o tipo void que não representa um valor real e sim a não-existência de valor. Este tipo é utilizado na definição de métodos quando não é esperado retorno algum.

Tipo
Descrição
Default
Tamanho

boolean

Armazena valores lógicos: Verdadeiro ou Falso

false

1 bit

char

Armazenaum único caractere Unicode

'\u0000'

2 byte

byte

Armazena números inteiros

0

1 byte

short

Armazena números inteiros

0

2 byte

int

Armazena números inteiros

0

4 byte

long

Armazena números inteiros

0L

8 byte

float

Armazena números em ponto flutuante com 8 decimais de precisão

0.0f

4 byte

double

Armazena números em ponto flutuante com 16 decimais de precisão

0.0 ou 0.0d

8 byte

Tipos de Referência

Os tipos de referência em Java são: objetos, arrays e interfaces. Eles são chamados de tipos de referência porque são referenciados por um endereço de memória em vez de serem armazenados diretamente.

Objetos

Os objetos em Java são instâncias de classes e podem ser criados com a palavra-chave "new". Por exemplo, para criar um objeto da classe "Pessoa":

Pessoa pessoa = new Pessoa();

Arrays

Arrays em Java são objetos que contêm um número fixo de elementos do mesmo tipo. Eles podem ser criados usando a palavra-chave "new" ou usando a sintaxe de inicialização de array. Por exemplo, para criar um array de inteiros:

int[] numeros = new int[10];

ou

int[] numeros = {1, 2, 3, 4, 5};

Para acessar um valor em um array, deve-se atentar à validade do indíce utilizado. Por exemplo, caso o array tenha cinco posições, o maior índice válido é 4. Caso seja utilizado um índice inválido, a linguagem retorna a exceção IndexOutOfBoundsException. A sintáxe para acessar e alterar valores em um array é a seguinte.

int[] numeros = {1, 2, 3, 4, 5};
System.out.println(numeros[3]); // imprime o valor 4
nummeros[3] = 10; // altera o valor no índice 3 para 10
System.out.println(numeros[3]); // imprime o valor 10
System.out.println(numeros[1]); // imprime o valor 2
System.out.println(numeros[5]); // é apresentada a exceção

Autoboxing e Unboxing

Java fornece um objeto equivalente para cada tipo primitivo sendo todos nomeados conforme o tipo primitivo mas com a inicial maiúscula. Com exceção do tipo int, cujo equivalente é nomeado como Integer.

Para facilitar o uso desses objetos, há um recurso de conversão automática de tipos primitivos para seus objetos equivalentes e vice-versa. Esse recurso é chamado de autoboxing e unboxing. Por exemplo, para criar um Integer a partir de um int:

int i = 42;
Integer j = i;

ou

Integer j = new Integer(i);

E para obter o valor int de um Integer:

Integer j = new Integer(42);
int i = j;

ou

int i = j.intValue();

Importante lembrar que cada tipo primitivo possui um objeto equivalente: boolean/Boolean, byte/Byte, short/Short, int/Integer, long/Long, float/Float, double/Double e char/Char.

Referências

Last updated