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.
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