Tipos Primitivos do Java
Quando criamos um programa, devemos saber com que tipo de informação estamos lidando e para qual finalidade ela será útil. Afinal, devemos ter conhecimento disso para declararmos corretamente o tipo de dado que a variável irá suportar.
Java é uma linguagem de forte tipografia. Isso significa que as variáveis devem ser declaradas respeitando-se a sintaxe básica "tipo identificador;". Há oito tipos de dados primitivos em Java, que podem ser classificados em três categorias: lógicos, numéricos e de caracteres.
Vamos entender cada um delas:
Além dos tipos primitivos, existe o tipo String, que funciona como um container de chars, possibilitando a atribuição de uma sequência de caracteres delimitados por aspas duplas (""). Você provavelmente pensará nela como um tipo primitivo, mas uma String é uma classe especial fornecida pela linguagem para prover suporte à cadeia de caracteres. Veremos mais sobre classes e objetos mais adiante.
Vamos praticar um pouco agora: crie uma classe com o nome TiposPrimitivos.java e escreva o código conforme o exemplo abaixo:
Ao executar o código acima, você verá que, mesmo que se atribua um número qualquer a uma variável do tipo char, ela será tratada pelo método println() como um caractere, não como um número. Também verá que uma letra "F" acompanha o valor atribuído à variável floatNumero e que a letra "L" acompanha o valor atribuído às variáveis longMinimo e longMaximo. Essas letras são sufixos de literais. Elas indicam o tipo do valor que você está passando para a variável.
Java é uma linguagem de forte tipografia. Isso significa que as variáveis devem ser declaradas respeitando-se a sintaxe básica "tipo identificador;". Há oito tipos de dados primitivos em Java, que podem ser classificados em três categorias: lógicos, numéricos e de caracteres.
Vamos entender cada um delas:
Tipos lógicos | |
---|---|
boolean | Representam apenas 1 bit de informação (0 ou 1). Podem assumir apenas os valorestrue e false. |
Tipos caractere | |
char | Representam notação de caracteres de 16 bits (2 bytes) para formato Unicode UTF-16. Podem assumir caracteres entre '\u0000' a '\uffff' e valores numéricos entre 0a 65535. |
Tipos numéricos inteiros | |
byte | Representam números inteiros de 8 bits (1 byte). Podem assumir valores entre -128 a127. |
short | Representam números inteiros de 16 bits (2 bytes). Podem assumir valores entre-32.768 até 32.767. |
Int | Representam números inteiros de 32 bits (4 bytes). Podem assumir valores entre-2.147.483.648 até 2.147.483.647. |
long | Representam números inteiros de 64 bits (8 bytes). Podem assumir valores entre-9.223.372.036.854.775.808 até 9.223.372.036.854.775.807. |
Tipos numéricos reais | |
float | Representam números reais de 32 bits com precisão simples. Podem assumir valores de ponto flutuante com formato definido pela especificação IEEE 754. |
double | Representam números reais de 64 bits com precisão dupla. Assim como o float. Podem assumir valores de ponto flutuante com formato definido pela especificação IEEE 754. |
Além dos tipos primitivos, existe o tipo String, que funciona como um container de chars, possibilitando a atribuição de uma sequência de caracteres delimitados por aspas duplas (""). Você provavelmente pensará nela como um tipo primitivo, mas uma String é uma classe especial fornecida pela linguagem para prover suporte à cadeia de caracteres. Veremos mais sobre classes e objetos mais adiante.
Vamos praticar um pouco agora: crie uma classe com o nome TiposPrimitivos.java e escreva o código conforme o exemplo abaixo:
public class TiposPrimitivos { public static void main(String[] args){ // Tipos numéricos inteiros byte byteMinimo = -127; byte byteMaximo = 127; short shortMaximo = -32768; short shortMinimo = 32767; int intMaximo = -32767; int intMinimo = 32767; long longMaximo = -9223372036854775808l; long longMinimo = 9223372036854775807l; // Tipos numéricos reais float floatNum = 78.88776f; double doubleNum = 922337.559874387184073645; // tipos lógicos boolean booleanTrue = true; boolean booleanFalse = false; // tipos caractere char charMinimo = 0; char charMaximo = 65535; char charLetra = 'A'; char charUnicode = '\u0065'; String stringQualquer = "Uma string qualquer"; //Apresentando os Resultados System.out.println(byteMinimo); System.out.println(byteMaximo); System.out.println(shortMinimo); System.out.println(shortMaximo); System.out.println(intMinimo); System.out.println(intMaximo); System.out.println(longMinimo); System.out.println(longMaximo); System.out.println(floatNum); System.out.println(doubleNum); System.out.println(charMinimo); System.out.println(charMaximo); System.out.println(charLetra); System.out.println(charUnicode); System.out.println(stringQualquer); } }
Ao executar o código acima, você verá que, mesmo que se atribua um número qualquer a uma variável do tipo char, ela será tratada pelo método println() como um caractere, não como um número. Também verá que uma letra "F" acompanha o valor atribuído à variável floatNumero e que a letra "L" acompanha o valor atribuído às variáveis longMinimo e longMaximo. Essas letras são sufixos de literais. Elas indicam o tipo do valor que você está passando para a variável.