Listado completo de tutoriales
68 - Tipos de datos primitivos y clases de envoltura en Java |
Hemos estado utilizando en todos los conceptos anteriores la mayoría de datos primitivos que provee Java, ahora los enumeraremos a todos.
Recordomos que los tipos de datos primitivos son aquellos que almacenan directamente el valor, a diferencia de los tipos de datos referencia que almacenan la dirección de memoria donde se almacena el dato (los objetos son tipo de datos referencia)
Los tipos de datos primitivos los podemos agrupar en:
Según el valor entero máximo a almacenar podemos elegir entre:
Imaginemos que tenemos que definir un array de 10000 valores enteros. La elección del tipo entero va a ser importante, teniendo en cuenta que un byte ocupa un 1 byte, un short 2 bytes, un int ocupa 4 bytes y un long ocupa 8 bytes.
Si vamos a almacenar en el array edades por ejemplo, lo más conveniente será utilizar el tipo byte y no long.
Para cada uno de los tipos de datos primitivos existen una clase de envoltura asociada:
Tipo primitivo | Clase de envoltura |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
Imprimir los valores máximos y mínimos que pueden almacenar cada tipo de dato primitivo numéricos. Emplear las clases de envoltura para recuperar dichos valores.
public class PruebaDatosPrimitivos { public static void main(String[] args) { System.out.println("Máximo y mínimo valor para un tipo de dato byte:"); System.out.println(Byte.MIN_VALUE + " " + Byte.MAX_VALUE); System.out.println("Máximo y mínimo valor para un tipo de dato short:"); System.out.println(Short.MIN_VALUE + " " + Short.MAX_VALUE); System.out.println("Máximo y mínimo valor para un tipo de dato int:"); System.out.println(Integer.MIN_VALUE + " " + Integer.MAX_VALUE); System.out.println("Máximo y mínimo valor para un tipo de dato long:"); System.out.println(Long.MIN_VALUE + " " + Long.MAX_VALUE); System.out.println("Máximo y mínimo valor para un tipo de dato float:"); System.out.println(Float.MIN_VALUE + " " + Float.MAX_VALUE); System.out.println("Máximo y mínimo valor para un tipo de dato double:"); System.out.println(Double.MIN_VALUE + " " + Double.MAX_VALUE); } }
Tenemos como resultado:
Recordemos de conceptos anteriores que hemos utilizado una serie de métodos estáticos de las clases de envoltura como por ejemplo para la conversión de datos:
String cadena="30"; int monedas=Integer.parseInt(cadena);
Cuando veamos más adelante clases genéricas estaremos obligados a utilizar las clases de envoltorio en lugar de los tipos de datos primitivos.
En Java podemos utilizar el caracter '_' para separar bloques de números cuando inicializamos variables enteras y reales:
public static void main(String[] args) { int premio=1_000_000; System.out.println("Premio mayor:"+premio); }
Estamos definiendo una variable entera con el valor 1 millón, como podemos ver es más legible que escribir:
int premio=1000000;
No hay diferencias luego de compilar el programa cuando empleamos el caracter '_'.