(→Ver Também) |
|||
Line 9: | Line 9: | ||
Os tipos primitivos são os que figuram na seguinte tabela. | Os tipos primitivos são os que figuram na seguinte tabela. | ||
− | {| | + | {| style="border-style: solid; border-width: 2px; width: 90%;" |
− | | | + | ! width="20%" | Tipo |
+ | ! width="20%" | Dimensão (bits) | ||
+ | ! width="20%" | MÃnimo | ||
+ | ! width="20%" | Máximo | ||
+ | |- | ||
+ | | boolean | ||
+ | | - | ||
+ | | - | ||
+ | | - | ||
+ | |- | ||
+ | | char | ||
+ | | 16 | ||
+ | | Unicode 0 | ||
+ | | Unicode 2<sup>16</sup>-1 | ||
+ | |- | ||
+ | | byte | ||
+ | | 8 | ||
+ | | -128 | ||
+ | | +127 | ||
+ | |- | ||
+ | | short | ||
+ | | 16 | ||
+ | | -2<sup>15</sup> | ||
+ | | +2<sup>15</sup>-1 | ||
+ | |- | ||
+ | | int | ||
+ | | 32 | ||
+ | | -2<sup>31</sup> | ||
+ | | +2<sup>31</sup>-1 | ||
+ | |- | ||
+ | | long | ||
+ | | 64 | ||
+ | | -2<sup>63</sup> | ||
+ | | +2<sup>63</sup>-1 | ||
+ | |- | ||
+ | | float | ||
+ | | 32 | ||
+ | | IEEE 754 | ||
+ | | IEEE 754 | ||
+ | |- | ||
+ | | double | ||
+ | | 64 | ||
+ | | IEEE 754 | ||
+ | | IEEE 754 | ||
+ | |- | ||
+ | | void | ||
+ | | - | ||
+ | | - | ||
+ | | - | ||
|} | |} | ||
+ | |||
=== ''Wrappers'' === | === ''Wrappers'' === |
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 auto-boxing ("auto-empacotamento").
Os tipos primitivos são os que figuram na seguinte tabela.
Tipo | Dimensão (bits) | MÃnimo | Máximo |
---|---|---|---|
boolean | - | - | - |
char | 16 | Unicode 0 | Unicode 216-1 |
byte | 8 | -128 | +127 |
short | 16 | -215 | +215-1 |
int | 32 | -231 | +231-1 |
long | 64 | -263 | +263-1 |
float | 32 | IEEE 754 | IEEE 754 |
double | 64 | IEEE 754 | IEEE 754 |
void | - | - | - |
As classes correspondentes aos tipos primitivos figuram na seguinte tabela.