Tipos Primitivos do Java
Autor: José Anderson | Publicado: 2012-04-06T23:57:00-03:00

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:



     Tipos lógicos   
     boolean     Representam    apenas 1 bit de informação (0 ou 1).        Podem assumir apenas os valores true 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 0 a 65535.   
     Tipos numéricos inteiros    
     byte     Representam    números inteiros de 8 bits (1    byte).        Podem assumir valores entre -128 a 127.   
     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. 

Bom, no próximo encontro, eu irei falar sobre os literais em Java. Para exercitar, faça esse programa novamente e modifique o valor das variáveis várias vezes.  Até o nosso próximo encontro!