1. java-hell.de
  2. Temas
  3. Variables
Tema 2 de 11

Aprende variables en Java – Ejercicios online

Las variables son los cajones de tu programa. Conocerás int, double, String y boolean, unirás textos y sobrescribirás valores. Cada ejercicio te lleva unos minutos.

Los ejercicios

Lo que aprenderás en este tema

  1. Tu primera variable
  2. Una variable para texto
  3. Números decimales
  4. Juntar texto
  5. Sobrescribir una variable
  6. Verdadero o falso
Ejercicio 1 de 6

Tu primera variable

Una variable es como una caja con etiqueta. Le pones un nombre y guardas un valor dentro.

Así se ve:

int edad = 25;

Eso significa: crea una caja llamada edad que guarda un número entero (int) y mete 25 dentro.

La variable ya existe. Cambia su valor de 25 a 30.

Código inicial
void main() {
    int edad = 25;
    IO.println(edad);
}
Contexto
Cómo funcionan las variables en memoria

Cuando escribes int edad = 25;, Java reserva exactamente 4 bytes (32 bits) de memoria y guarda ahí el valor 25 como número binario.

El nombre edad es solo una etiqueta para ti: el bytecode compilado trabaja en su lugar con una posición numerada en el marco de pila (stack frame) del método. El nombre solo sobrevive como información de depuración opcional.

int puede guardar valores desde unos -2100 millones hasta +2100 millones. Para números más grandes: long (8 bytes).

Ejercicio 2 de 6

Una variable para texto

Para texto se usa el tipo String (¡con S mayúscula!):

String nombre = "Ana";

Cambia el nombre para que se imprima Max.

Código inicial
void main() {
    String nombre = "Ana";
    IO.println(nombre);
}
Contexto
String vs. int: referencia vs. valor

int guarda el valor directamente. String guarda una referencia (un puntero) a un objeto en la memoria llamada heap.

Por eso las cadenas se comparan con .equals() en lugar de ==: == solo compara las referencias (¿apuntan las dos al mismo objeto?), no el contenido.

Ejercicio 3 de 6

Números decimales

Para números decimales existe double:

double precio = 4.99;

Importante: Java siempre usa un punto como separador decimal: 4.99, nunca 4,99.

Cambia el precio a 9.99.

Código inicial
void main() {
    double precio = 4.99;
    IO.println(precio);
}
Contexto
Los números de coma flotante y sus manías

double ocupa 8 bytes y guarda los números en el formato de coma flotante IEEE 754. Eso significa: ¡algunos números decimales no se pueden representar con exactitud!

Por ejemplo: 0.1 + 0.2 da 0.30000000000000004 en Java. Por eso las cantidades de dinero se suelen manejar con BigDecimal.

Ejercicio 4 de 6

Juntar texto

Con + puedes unir texto y variables:

String nombre = "Java";
IO.println("Hola " + nombre);

Resultado: Hola Java

Sustituye el ??? para que se imprima Tengo 25 años.

Código inicial
void main() {
    int edad = 25;
    IO.println(???);
}
Contexto
Concatenación de cadenas

Cuando escribes "Texto" + numero, Java convierte automáticamente el número en una cadena (conversión a String) y pega las dos.

Las cadenas son inmutables, así que cada concatenación crea un objeto String nuevo. Dentro de un bucle eso se acumula rápido y se vuelve lento. En ese caso, los profesionales usan un StringBuilder o, para salida con formato, String.format("Tengo %d años", edad).

Ejercicio 5 de 6

Sobrescribir una variable

Puedes cambiar el valor de una variable en cualquier momento:

int x = 5;
x = 10;  // ahora x vale 10

Ojo: al cambiarla, no vuelves a escribir int delante: el tipo solo aparece cuando se crea la variable.

Pon puntos a 100 antes de que se imprima.

Código inicial
void main() {
    int puntos = 0;
    // Pon puntos a 100
    IO.println(puntos);
}
Contexto
Declaración vs. asignación

int x = 5; es una declaración con inicialización: se fija el tipo y se pone un valor inicial. x = 10; es una simple asignación.

Si vuelves a escribir int x = 10;, Java cree que quieres crear una variable nueva, y se queja, porque x ya existe. Así que: ¡el tipo se indica una sola vez!

Ejercicio 6 de 6

Verdadero o falso

El tipo boolean solo conoce dos valores: true (verdadero) o false (falso).

boolean haceSol = true;
boolean estaLloviendo = false;

Cambia el valor para que se imprima true.

Código inicial
void main() {
    boolean javaEsGenial = false;
    IO.println(javaEsGenial);
}
Contexto
Booleanos y lógica

En teoría, un boolean solo necesita 1 bit. Pero la JVM no fija realmente su tamaño: en la práctica suele ocupar un byte entero (en arrays) o incluso 4 bytes (como variable local), porque así se trabaja más rápido.

Los valores booleanos son la base de cualquier decisión en un programa. Puedes combinarlos con && (Y), || (O) y ! (NO).

Java usa evaluación en cortocircuito: con a && b, b ni siquiera se comprueba si a ya es false.

Basta de leer. Te toca.

En el tutorial escribes el código tú mismo, pulsas Ejecutar y ves al instante si tu programa funciona. Sin JDK, sin IDE, sin rollos.

Practicar Variables en tu navegador