segunda-feira, 12 de dezembro de 2011

Tipos de dados em Java

Vamos começar com os oito tipos de dados chamados primitivos na linguagem Java. Os primeiros 4 formatos são utilizados para armezenar números inteiros e ficam na memória como formato com sinal em complemento de dois:
  • byte: este dado é composto por uma posição de memória de 8 bits, permitindo armazenar números de -128 a 127 (inclusive).
    • valor default: 0
  • short: este dado é composto por uma posição de memória de 16 bits, permitindo armazenar números de -32.768 a 32.767 (inclusive).
    • valor default: 0
  • int: este dado é composto por uma posição de memória de 32 bits, permitindo armazenar números de -2.147.483.648 a 2.147.483.647 (inclusive). Este é o tipo mais comum nos programas.
    • valor default: 0
  • long: este dado é composto por uma posição de memória de 64 bits, permitindo armazenar números de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 (inclusive).
    • valor default: 0L
Para a utilização de tipos byte, short, int ou long deve ser pesado a necessidade economizar memória, a capacidade do tipo conter todos os valores possíveis para o que se quer armazenar (por exemplo, para os meses do ano basta byte, pois sabemos que no máximo serão 12). Para armazenar números reais o Java possui dois tipos que são armazenados em memória no formato IEEE 754:
  • float: este dado é composto por uma posição de memória de 32 bits, para armazenar números em precisão simples.
    • valor default: 0.0f
  • double: este dado é composto por uma posição de memória de 64 bits.
    • valor default: 0.0d
A biblioteca Java possui a classe java.math.BigDecimal que deve ser utilizar quando desejamos maior precisão. Os tipos seguintes são:
  • boolean: Este tipo possui somente dois valores possíveis: true e false. Representa somente um bit de informação, mas o tamanho na memória depende da plataforma.
    • valor default: false
  • char: Este tipo representa um caracter Unicode ocupando 16 bits de memória. Se você ficou curioso é possível ver uma lista destes caracteres na Wikipédia.
    • valor default: '\u0000'
      • este é o caracter nulo em Unicode
Notem o formato que foram escritos os valores default.

Além destes 8 tipos primitivos, a linguagem Java apresenta diversas classes para armazenamento de dados. Uma classe especial que oferece suporte a cadeias de caracteres é fornecida pela classe java.lang.String. Vamos tratar deste tipo com mais detalhes em outro post. A classe String não é tecnicamente um tipo primitivo mas em função do suporte desta classe pelo Java e pelo uso que você irá fazer em seus programas, a impressão é que a String é um tipo primitivo.

Existem classes em Java que correspondem aos tipos primitivos:

  • java.lang.Byte
  • java.lang.Short
  • java.lang.Integer
  • java.lang.Long
  • java.lang.Float
  • java.lang.Double
  • java.lang.Boolean
  • java.lang.Character


Resumindo, lembre-se:

  • Números inteiros: byte, short, int, long
  • Números reais: float, double
  • Números booleanos: boolean
  • Caracteres: char
  • Cadeia de caracteres: java.lang.String

Nenhum comentário:

Postar um comentário