Aprende los Tipos de Datos Primitivos en Java desde Cero
¡Hola! Bienvenido a esta nueva clase donde aprenderás sobre los tipos de datos primitivos en Java. Dominar este concepto es fundamental para poder programar en este lenguaje.
Los tipos de datos primitivos son los tipos de datos más básicos que existen en Java. Son los "ladrillos" con los que construiremos programas más complejos.
Índice
- 1. ¿Qué son los tipos de datos primitivos en Java?
- 2. Declaración de variables
- 3. Tipos de datos numéricos
- 4. Tipos de datos de caracteres
- 5. Literales y constantes
- 6. Operadores aritméticos
- 7. Conversiones entre tipos
- 8. Buenas prácticas
- 9. Conclusión
- 10. Ejercicios Resueltos
- 11. Preguntas Frecuentes
¿Qué son los tipos de datos primitivos en Java?
Un tipo de dato primitivo define el tamaño y tipo de valor que puede almacenar una variable. Java define 8 tipos de datos primitivos que se pueden usar para declarar variables y asignarles valores.
Estos son los 8 tipos de datos primitivos en Java:
- 4 tipos enteros: byte, short, int y long
- 2 tipos de punto flotante: float y double
- 1 tipo de caracter: char
- 1 tipo booleano: boolean
Características de los tipos de datos primitivos
Las principales características de los tipos de datos primitivos son:
- Tamaño fijo: cada tipo primitivo ocupa un espacio predefinido en memoria.
- Valor por defecto: cada tipo tiene un valor por defecto cuando se declara la variable pero no se inicializa.
- Rango de valores: cada tipo puede almacenar un rango limitado de valores.
- Rápido acceso: al estar en memoria el acceso es directo y rápido.
A diferencia de los objetos, los tipos de datos primitivos no son clases en Java. Veamos cada tipo en detalle:
Declaración de variables
Para declarar una variable en Java se especifica el tipo de dato y el nombre:
tipoDato nombreVariable = valor;
Por ejemplo:
int cantidad = 10;
Es buena práctica iniciar las variables primitivas con un valor asignado. También se pueden declarar múltiples variables del mismo tipo en la misma línea:
byte edad, cantidad;
Tipos de datos numéricos
Java tiene dos categorías de tipos de datos numéricos primitivos: enteros y de punto flotante.
Enteros (byte, short, int, long)
Los enteros son para representar números sin decimales. Existen 4 tamaños:
- byte: ocupa 1 byte y almacena entre -128 a 127.
- short: ocupa 2 bytes y almacena entre -32768 a 32767.
- int: ocupa 4 bytes y almacena entre -2147483648 a 2147483647. Es el entero más utilizado.
- long: ocupa 8 bytes y almacena entre -9223372036854775808 a 9223372036854775807. Para declarar un literal long se agrega "L" al final.
byte edad = 35;
short suma = 23 + 34;
int contador = 0;
long poblacion = 21474836470L;
Flotantes (float, double)
Los flotantes representan números con decimales. Existen 2 tipos:
- float: ocupa 4 bytes y tiene una precisión de 7 dígitos decimales. Para declarar un literal float se agrega "f" al final.
- double: ocupa 8 bytes y tiene una precisión de 15 dígitos decimales. Es el tipo float más utilizado.
float promedio = 4.95f;
double raiz = Math.sqrt(9.0);
Tipos de datos de caracteres
Java tiene dos tipos de datos para almacenar caracteres individuales y valores booleanos verdadero/falso.
char
El tipo char almacena un caracter Unicode de 16 bits. Se declara entre comillas simples:
char letra = 'A';
String
El tipo String no es técnicamente un tipo primitivo, es una clase en Java. Pero se utiliza para representar cadenas de texto con cualquier longitud. Se declara con comillas dobles:
String nombre = "Juan";
boolean
El tipo boolean solo puede tener los valores true o false. Es muy útil para almacenar resultados de evaluaciones lógicas:
int edad = 50;
// En este caso la variable esMayor almacenará true; esMayor = true
boolean esMayor = edad >= 18;
Literales y constantes
Un literal es un valor fijo que se escribe directamente en el código fuente.
Los literales en Java deben coincidir con el tipo de dato de la variable:
byte numBytes = 127;
int cuenta = 100;
long millas = 1_000_000_000L;
double precio = 9.99;
boolean encendido = true;
char letra = 'Z';
Las constantes son variables que su valor no cambia y se declaran con final
. Por convención se escriben en mayúsculas:
final float PI = 3.1416f;
Operadores aritméticos
Los operadores aritméticos permiten realizar operaciones matemáticas con valores primitivos:
- Suma (+)
- Resta (-)
- Multiplicación (*)
- División (/)
- Módulo (%) obtiene el resto de una división
Por ejemplo:
int suma = 15 + 20;
double promedio = suma / 5.0;
int resto = 10 % 3; // resto = 1
Conversiones entre tipos
En Java se pueden convertir valores de un tipo primitivo a otro explícitamente con casting:
int numero = 10;
byte byte = (byte) numero;
Esto puede provocar pérdida de precisión o error en tiempo de ejecución si el valor está fuera de rango.
También existen los wrappers que son clases equivalentes a los primitivos como Integer, Long, Double, etc. Permiten convertir a objetos cuando sea necesario.
Buenas prácticas
Algunas buenas prácticas al trabajar con tipos de datos primitivos:
- Elegir siempre el tipo de dato más pequeño posible que admita el rango de valores necesario. Esto optimiza memoria.
- Realizar conversiones explícitas con casting cuando sea necesario para prevenir errores.
- Inicializar las variables primitivas al declararlas.
- Utilizar nombres auto-explicativos para las variables.
- Para números largos utilizar el guión bajo "_" como separador de miles para mayor legibilidad.
Conclusión
Y con esto terminamos la clase de hoy. ¡Ahora ya sabes cómo trabajar con los distintos tipos de datos primitivos en Java! Los conceptos vistos aquí son fundamentales para continuar con tu aprendizaje, si tienes alguna duda no olvides dejarla en los comentarios.
A continuación te dejo 5 ejercicios resueltos para que practiques estos conceptos.
IMPORTANTE:
Puedes ver todo el código utilizado en el apartado en el siguiente enlace
Preguntas Frecuentes
Si, pero no es recomendable. Lo mejor es siempre inicializar las variables primitivas.
Ocurrirá un desbordamiento y se asignará un valor incorrecto.
Para optimizar memoria cuando sepamos que no necesitamos valores tan amplios.
Ejercicios Resueltos
Ejercicio 1
Declara variables para almacenar los siguientes datos e imprímelos:
- Nombre de una persona
- Edad de la persona
- Si tiene mascota o no
Ejercicio 2
Declara 3 constantes para almacenar tu nombre completo y muéstralas en pantalla.
Ejercicio 3
Declara variables para las siguientes conversiones e imprime los resultados:
- Un float de 10.5 a
int
- Un double de 125.8 a
long
- Un int de 100 a
byte
Ejercicio 4
Realiza las siguientes operaciones entre variables enteras y doubles:
- Suma de dos int
- Resta de un double menos un int
- Un double multiplicado por un int
- Un int dividido entre un double
Ejercicio 5
Realiza un programa que calcule el área y perímetro de un rectángulo con base de 5.6 y altura de 8.2. Usa variables double.