1. java-hell.de
  2. Temas
  3. Arrays
Tema 5 de 11

Aprende arrays en Java – Ejercicios online

Un array guarda muchos valores bajo un solo nombre. Crearás arrays, leerás elementos por su índice, consultarás su longitud y los recorrerás con un bucle, incluido el clásico ArrayIndexOutOfBoundsException.

Los ejercicios

Lo que aprenderás en este tema

  1. Tu primer array
  2. Longitud de un array
  3. Recorrer un array
  4. Último elemento
Ejercicio 1 de 4

Tu primer array

Un array guarda varios valores del mismo tipo:

int[] numeros = {10, 20, 30};

Accedes a cada valor por su índice — y este empieza en 0:

numeros[0]  // 10
numeros[1]  // 20
numeros[2]  // 30

Cambia el índice para que se imprima Mié.

Código inicial
void main() {
    String[] dias = {"Lun", "Mar", "Mié", "Jue", "Vie"};
    IO.println(dias[0]);
}
Contexto
Los arrays en memoria

Un array es un único bloque continuo de memoria. int[5] reserva 5 × 4 bytes = 20 bytes de una sola vez. Por eso el acceso por índice es rapidísimo — la JVM solo hace la cuenta: dirección de inicio + índice × tamaño del elemento.

Los arrays tienen un tamaño fijo que se define al crearlos y que nunca puede cambiar. Si necesitas un tamaño que crezca, usa ArrayList.

Ejercicio 2 de 4

Longitud de un array

Con .length obtienes el número de elementos:

int[] numeros = {10, 20, 30};
IO.println(numeros.length); // 3

Reemplaza ??? para imprimir la longitud del array.

Código inicial
void main() {
    String[] colores = {"Rojo", "Verde", "Azul", "Amarillo"};
    IO.println(???);
}
Contexto
.length en arrays vs. cadenas

En los arrays, length es un campo (sin paréntesis): arr.length. En las cadenas, length() es un método (con paréntesis): str.length(). Al principio todo el mundo los confunde — no te preocupes.

El motivo: los arrays son una construcción especial integrada directamente en el lenguaje. Son objetos, pero no tienen un método propio para esto — solo un campo length integrado y de solo lectura. Las cadenas son objetos normales de la clase String y te dan su longitud mediante un método.

Ejercicio 3 de 4

Recorrer un array

Con for-each recorres todos los elementos — más fácil que con un índice:

for (String s : miArray) {
    IO.println(s);
}

Léelo así: "Para cada String s en miArray".

Completa el bucle para que se impriman todas las frutas.

Código inicial
void main() {
    String[] frutas = {"Manzana", "Pera", "Cereza"};

    for (String ???) {
        IO.println(fruta);
    }
}
Contexto
For-each por dentro

El bucle for-each es azúcar sintáctico — el compilador lo convierte en un bucle for normal por detrás. Para arrays usa un índice; para colecciones, un Iterator.

La pega: no tienes acceso al índice. Si lo necesitas, usa la versión clásica for(int i=0; ...).

Ejercicio 4 de 4

Último elemento

El último elemento siempre tiene el índice length - 1:

numeros[numeros.length - 1]

Reemplaza ??? para imprimir el último elemento — sin importar lo largo que sea el array.

Código inicial
void main() {
    String[] animales = {"Perro", "Gato", "Pájaro", "Pez"};
    IO.println(???);
}
Contexto
ArrayIndexOutOfBoundsException

Si accedes al índice 4 de un array con 4 elementos, obtienes un error en tiempo de ejecución — el programa se cae. Java comprueba los límites en cada acceso (bounds checking).

Lenguajes como C no hacen esta comprobación — ahí simplemente lees lo que haya en la memoria en ese momento (¡una fuente clásica de agujeros de seguridad!). Java es más seguro en esto.

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 Arrays en tu navegador