Tipos primitivos no Java
A linguagem de programação Java é estaticamente tipada, o que significa que todas as variáveis devem primeiro ser declaradas antes de poderem ser usadas. Isso envolve informar o tipo e o nome da variável, como você já viu.
Os tipos primitivos em Java são: byte, short, int, long, float, double, char e boolean.
Valores possíveis | ||||||
---|---|---|---|---|---|---|
Tipos | Primitivo | Menor | Maior | Valor Padrão | Tamanho | Exemplo |
Inteiro | byte | |||||
short | ||||||
int | ||||||
long | ||||||
Ponto flutuante | float | |||||
double | ||||||
Caractere | char | 0 | 65535 | |||
Booleano | boolean | false | true | false | 1 bit |
byte: O tipo de dados byte é um inteiro de complemento de dois de 8 bits com sinal. Tem um valor mínimo de -128 e um valor máximo de 127 (inclusive). O tipo de dados byte pode ser útil para economizar memória em grandes arrays, onde a economia de memória realmente importa. Eles também podem ser usados no lugar de int onde seus limites ajudam a esclarecer seu código; o fato de o alcance de uma variável ser limitado pode servir como uma forma de documentação.
short: O tipo de dados short é um inteiro de complemento de dois de 16 bits com sinal. Tem um valor mínimo de -32.768 e um valor máximo de 32.767 (inclusive). Assim como no byte, as mesmas diretrizes se aplicam: você pode usar um short para economizar memória em arrays grandes, em situações em que a economia de memória realmente importa.
int: Por padrão, o tipo de dados int é um inteiro de complemento de dois de 32 bits com sinal, que tem um valor mínimo de -231 e um valor máximo de 231-1. No Java SE 8 e posterior, você pode usar o tipo de dados int para representar um inteiro sem sinal de 32 bits, que tem um valor mínimo de 0 e um valor máximo de 232-1. Use a classe Integer para usar o tipo de dados int como um inteiro sem sinal. Consulte a seção As Classes de Números para obter mais informações. Métodos estáticos como compareUnsigned, divideUnsigned etc foram adicionados à classe Integer para suportar as operações aritméticas para inteiros sem sinal.
long: O tipo de dados long é um inteiro de complemento de dois de 64 bits. O longo assinado tem um valor mínimo de -263 e um valor máximo de 263-1. No Java SE 8 e posterior, você pode usar o tipo de dados longo para representar um comprimento não assinado de 64 bits, que tem um valor mínimo de 0 e um valor máximo de 264-1. Use esse tipo de dados quando precisar de um intervalo de valores mais amplo do que os fornecidos por int. A classe Long também contém métodos como compareUnsigned, divideUnsigned etc para dar suporte a operações aritméticas para unsigned long.
float: O tipo de dados float é um ponto flutuante IEEE 754 de 32 bits de precisão simples. Seu intervalo de valores está além do escopo desta discussão, mas é especificado na seção Tipos, formatos e valores de ponto flutuante da Especificação de linguagem Java. Assim como nas recomendações para byte e short, use um float (em vez de double) se precisar economizar memória em grandes arrays de números de ponto flutuante. Esse tipo de dados nunca deve ser usado para valores precisos, como moeda. Para isso, você precisará usar a classe
java.math.BigDecimal
. Numbers and Strings abrange BigDecimal e outras classes úteis fornecidas pela plataforma Java.double: O tipo de dados double é um ponto flutuante IEEE 754 de precisão dupla de 64 bits. Seu intervalo de valores está além do escopo desta discussão, mas é especificado na seção Tipos, formatos e valores de ponto flutuante da Especificação de linguagem Java. Para valores decimais, esse tipo de dados geralmente é a opção padrão. Conforme mencionado acima, esse tipo de dados nunca deve ser usado para valores precisos, como moeda.
boolean: O tipo de dados boolean tem apenas dois valores possíveis:
true
efalse
. Use esse tipo de dados para sinalizadores simples que rastreiam condições verdadeiras/falsas. Esse tipo de dados representa um bit de informação, mas seu “tamanho” não é algo definido com precisão.char: O tipo de dados char é um único caractere Unicode de 16 bits. Tem um valor mínimo de ‘\u0000’ (ou 0) e um valor máximo de ‘\uffff’ (ou 65.535 inclusive).