Difference between revisions of "Introdução aos Objectos/Tipos primitivos em Java"

From Wiki**3

< Introdução aos Objectos
(Tipos primitivos e ''wrappers'')
m
Line 3: Line 3:
 
Para obviar ao problema, no Java utiliza-se um sistema de tipos híbrido: são definidos tipos básicos para cobrir entidades atómicas. Estes tipos semelhantes aos do C e do C++ (embora com algumas restrições, como, por exemplo, as dimensões) permitem tratar eficientemenmte entidades como inteiros ou caracteres.
 
Para obviar ao problema, no Java utiliza-se um sistema de tipos híbrido: são definidos tipos básicos para cobrir entidades atómicas. Estes tipos semelhantes aos do C e do C++ (embora com algumas restrições, como, por exemplo, as dimensões) permitem tratar eficientemenmte entidades como inteiros ou caracteres.
  
No entanto, para permitir alguma uniformidade no tratamento dos tipos, a linguagem também define as classes correspondentes aos tipos primitivos e, a partir da versão 1.5, permite a auto-conversão de tipos primitivos para essas classes. As classes correspondentes aos tipos primitivos são designadas ''wrappers'' ("envoltórios") e o processo de conversão implícita é designado por ''auto-boxing'' ("auto-empacotamento").
+
No entanto, para permitir alguma uniformidade no tratamento dos tipos, a linguagem também define as classes correspondentes aos tipos primitivos e, a partir da versão 1.5, permite a auto-conversão de tipos primitivos para essas classes. As classes correspondentes aos tipos primitivos são designadas ''wrappers'' ("envoltórios") e o processo de conversão implícita é designado por ''autoboxing'' ("auto-empacotamento").
  
 
=== Tipos primitivos e ''wrappers'' ===
 
=== Tipos primitivos e ''wrappers'' ===

Revision as of 11:31, 29 September 2005

Embora fosse concebível definir classes para todos os tipos de dados a utilizar por um programa em Java, inclusivamente para os tipos básicos, tal conduziria a ineficiência durante a execução.

Para obviar ao problema, no Java utiliza-se um sistema de tipos híbrido: são definidos tipos básicos para cobrir entidades atómicas. Estes tipos semelhantes aos do C e do C++ (embora com algumas restrições, como, por exemplo, as dimensões) permitem tratar eficientemenmte entidades como inteiros ou caracteres.

No entanto, para permitir alguma uniformidade no tratamento dos tipos, a linguagem também define as classes correspondentes aos tipos primitivos e, a partir da versão 1.5, permite a auto-conversão de tipos primitivos para essas classes. As classes correspondentes aos tipos primitivos são designadas wrappers ("envoltórios") e o processo de conversão implícita é designado por autoboxing ("auto-empacotamento").

Tipos primitivos e wrappers

Os tipos primitivos e as classes que lhes correspondem são os que figuram na seguinte tabela.

Tipo Dimensão (bits) Mínimo Máximo Wrapper
boolean - - - Boolean
char 16 Unicode 0 Unicode 216-1 Character
byte 8 -128 +127 Byte
short 16 -215 +215-1 Short
int 32 -231 +231-1 Integer
long 64 -263 +263-1 Long
float 32 IEEE 754 [1] IEEE 754 Float
double 64 IEEE 754 IEEE 754 Double
void - - - Void

O IEEE 754 é a norma de representação de números em vírgula flutuante mais utilizada. Além dos números de vírgula flutuante, esta norma define formatos de representação para valores especiais (infinitos e outros), assim como as operações possíveis sobre esses valores.

Ver Também