Variables y tipos de datos — Java
¿Qué es y para qué sirve?
Imagina que estás jugando un videojuego. Tienes un inventario — una mochila donde guardas diferentes objetos: una espada, una poción de salud, un mapa del tesoro. En programación, esa "mochila" se llama variable. Es una cajita donde puedes guardar información y darle un nombre.
¿Para qué sirve? Supón que escribes un programa que felicita al usuario por su cumpleaños. El nombre del usuario puede ser diferente — hoy "María", mañana "Pedro". En lugar de reescribir el código cada vez, creas una variable nombre y escribes el nombre necesario una sola vez. ¡El programa lo colocará automáticamente en el texto de felicitación!
Ahora hablemos de los tipos de datos. Volvamos a la mochila. No pondrías manzanas en el bolsillo de las monedas, ni monedas en el bolsillo del mapa. En Java también hay diferentes "bolsillos" para diferentes cosas:
- Números (enteros y decimales)
- Palabras y letras (texto)
- Verdadero/Falso (sí o no)
Java es un lenguaje estricto. Exige que digas de antemano: "¡En esta cajita solo habrá números enteros!" o "¡Aquí solo texto!". En Python no es así — puedes poner cualquier cosa en cualquier lugar. Pero en Java esto ayuda a evitar errores. Imagina que por error pones agua en el bolsillo de las monedas — las monedas se echarían a perder. ¡Java no te dejará hacer eso!
Vamos a entenderlo paso a paso. Primero aprenderemos a crear variables, y luego conoceremos los tipos de datos que existen y para qué sirven.
Ejemplos de código con explicación
Ejemplo 1: Primera variable — ¡hola, mundo!
Empecemos con lo más simple. Crearemos una variable que almacena texto (una palabra o frase). En Java, para texto se usa el tipo String (¡con mayúscula inicial!).
// Declaramos (creamos) una variable con el nombre "saludo"
// Tipo String — significa que almacenaremos texto
String saludo;
// Ahora le asignamos un valor (texto entre comillas)
saludo = "¡Hola, mundo!";
// Y ahora mostramos el contenido de la variable en pantalla
System.out.println(saludo);
// En pantalla aparecerá: ¡Hola, mundo!
Explicación para principiantes:
Stringes el tipo "cadena" (texto). En Python habrías escrito simplementesaludo = "¡Hola, mundo!", pero en Java primero hay que decir de qué tipo será la variable.- El punto y coma
;al final de cada instrucción es como un punto al final de una oración. Java no entendería dónde termina la instrucción sin él. System.out.println()es la instrucción "imprime y salta a una nueva línea". Comoprint()en Python.
Se puede combinar la creación y la asignación en una sola línea:
// Creamos una variable y le asignamos un valor inmediatamente
String nombre = "Alicia";
System.out.print("Hola, ");
System.out.println(nombre);
// En pantalla: Hola, Alicia
Observa: System.out.print() (sin ln) no mueve el cursor a una nueva línea, sino que sigue imprimiendo en la misma línea.
Ejemplo 2: Números enteros — contando manzanas
Para números enteros (sin parte decimal) en Java existe el tipo int (de integer — número entero).
// Declaramos una variable para la cantidad de manzanas
int manzanas;
// Le asignamos el número 10
manzanas = 10;
// ¡Podemos hacer operaciones matemáticas!
int peras = 5; // creamos y asignamos 5 inmediatamente
int total_frutas; // solo la creamos, por ahora está vacía
// Sumamos manzanas y peras
total_frutas = manzanas + peras;
// Mostramos el resultado
System.out.print("Total de frutas: ");
System.out.println(total_frutas);
// En pantalla: Total de frutas: 15
Lo importante que debes recordar:
- Los nombres de las variables se escriben juntos o con guion bajo. No se pueden usar espacios.
- Las matemáticas funcionan como en la vida real:
+,-,*(multiplicar),/(dividir). - En Java, a diferencia de Python, no puedes simplemente escribir
manzanas = "diez"si la variable fue declarada comoint. Java dirá: "¡Error! Prometiste un número, pero estás dando texto".
Intentemos calcular cuántas manzanas le tocan a cada uno si las repartimos equitativamente entre 3 amigos:
int manzanas = 10;
int amigos = 3;
// Dividimos las manzanas entre los amigos (¡atención! dividir un entero entre un entero da como resultado un entero)
int cada_uno = manzanas / amigos;
System.out.println("A cada amigo le tocan " + cada_uno + " manzanas");
// En pantalla: A cada amigo le tocan 3 manzanas
El truco: 10 dividido entre 3 es 3.333..., pero int descarta la parte decimal. Java no redondea, simplemente corta la "cola". Si necesitas una división exacta, usa double (mira el siguiente ejemplo).
Ejemplo 3: Números decimales — dinero y estatura
Para números con parte decimal (por ejemplo, 3.14 o 2.5) en Java existen los tipos double y float. Nosotros usaremos double — es más preciso.
// Precio de una pizza: 450 rublos con 50 kopeks
double precio_pizza = 450.50;
// ¿Cuántas pizzas compraremos?
int cantidad = 3;
// Calculamos el costo total
double costo_total = precio_pizza * cantidad;
System.out.println("Costo total: " + costo_total + " rublos");
// En pantalla: Costo total: 1351.5 rublos
¡Importante! En Java, la parte decimal se separa con un punto, no con una coma. 450,50 causaría un error. Recuerda: el punto es la "coma decimal" para la computadora.
Otro ejemplo: calcular el promedio de calificaciones en la escuela:
double matematicas = 4.5;
double ruso = 3.0;
double fisica = 5.0;
// Sumamos y dividimos entre la cantidad de materias
double promedio = (matematicas + ruso + fisica) / 3;
System.out.println("Promedio: " + promedio);
// En pantalla: Promedio: 4.166666666666667
¿Ves cuántos dígitos después del punto? Es normal. Si necesitas mostrar solo d