☕ Java

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:

  • String es el tipo "cadena" (texto). En Python habrías escrito simplemente saludo = "¡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". Como print() 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 como int. 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