sexta-feira, 21 de dezembro de 2012

O que são Tipos Primitivos em Java?


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ógicosnuméricos e de caracteres.

Vamos entender cada um delas:


Tipos lógicos
booleanRepresentam apenas 1 bit de informação (0 ou 1). Podem assumir apenas os valorestrue e false.
Tipos caractere
charRepresentam 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 065535.
Tipos numéricos inteiros
byteRepresentam números inteiros de 8 bits (1 byte). Podem assumir valores entre -128 a127.
shortRepresentam números inteiros de 16 bits (2 bytes). Podem assumir valores entre-32.768 até 32.767.
IntRepresentam números inteiros de 32 bits (4 bytes). Podem assumir valores entre-2.147.483.648 até 2.147.483.647.
longRepresentam 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
floatRepresentam números reais de 32 bits com precisão simples. Podem assumir valores de ponto flutuante com formato definido pela especificação IEEE 754.
doubleRepresentam 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.