Java ofrece distintos tipos de datos. Cada uno de ellos puede almacena diferentes valores y rangos.
Numéricos
En cuanto a tipo de números, Java puede usar tanto valores enteros como fraccionarios. A su vez, cada tipo de número puede tener distintos tipos de datos.
Enteros
Los números enteros, es decir, 0, 1, 2, 1000, -4, etc. Pueden representarse a través de los siguientes tipos:
long, int, short, byte
- byte: tiene un tamaño de 8 bits (1 byte). Su rango es de -128 a 127
- short: tiene un tamaño de 16 bits (2 bytes). Su rango es de -32768 a 32767
- int: tiene un tamaño de 32 bits (4 bytes). Su rango es de -(2^31) a (2^31)-1
- long: tiene un tamaño de 64 bits (8 bytes). Su rango es de -(2^63) a (2^63) – 1
Como podrás observar, sigue la notación de base dos: 2^0 = 1; 2^1 = 2, 2^2 = 4, 2^3 = 8
Por ejemplo, para representar la edad de alguien pudiéramos hacer la siguiente declaración
byte age = 20;
O para almacenar cualquier tipo de valor, se puede usar un int.
int value = 14;
long billion = 1_000_000_000_000L;
Tipos punto flotante (decimales)
Estos tipos de datos representan un número con una parte fraccionaria, es decir, aquellos que tienen un punto decimal.
En el caso de Java, hay dos tipos:
- float: tiene un tamaño de 32 bits (4 bytes)
- double: tiene un tamaño de 64 bits (8 bytes).
Al igual que con los números enteros, estos también están basados en la notación de base 2: 2^4 = 32 bits; 2^8 = 64 bits.
Para los valores de tipo double, se pueden inicializar directamente con el número:
double pi = 3.14.1592;
Mientras tanto, en los de tipo flotante es necesario ponerle una “f” al final del valor.
float e = 2.7182f;
Nota
En la actualidad, es más común usar en Java valores de tipo long en vez de float. Esto se debe a que la maquina virtual está totalmente optimizada para manejar valores de esta clas.
Cuestionario
¿Qué tipo de dato no es nativo en java?
() boolean
() double
() byte