Semestre 02, 2026
int[] scores = new int[10];
float[] prices = new float[500];
boolean[] flags = new boolean[20];
char[] codes = new char[1750];
L1 arreglo de 10 enteros.L2 arreglo de 500 flotantes.L3 arreglo de 20 booleanos.L4 arreglo de 1750 caracteres.
scores[0] = 85;
scores[1] = 90;
System.out.println(scores[0]); // 85
L1 asigna 85 a la posición 0.L2 asigna 90 a la posición 1.L4 lee e imprime el primer elemento (85).Cada elemento se accede mediante su índice, comenzando en 0 hasta length - 1.
scores[0] = primer elemento.scores[scores.length - 1] = último elemento.Internamente, Java no verifica si el índice es válido antes de acceder al elemento. Si el índice está fuera del rango permitido, se lanza una excepción.
System.out.println(scores[10]); // Error!
Ocurre cuando se intenta acceder a una posición que no existe en el arreglo. Es importante usar scores.length para evitar este tipo de errores.
Para recorrer un arreglo y procesar todos sus elementos, se utilizan ciclos como for o for-each.
for (int i = 0; i < scores.length; i++) {
System.out.println(scores[i]);
}
for (int score : scores) {
System.out.println(score);
}
Ambos ciclos son válidos. El for tradicional da más control, mientras que el for-each es ideal para recorrer de forma sencilla los valores.
Java permite declarar e inicializar un arreglo en una sola línea usando llaves {} y una lista de valores.
int[] unidades = {147, 323, 89, 933};
char[] calificaciones = {'A', 'B', 'C', 'D', 'F'};
System.out.println(unidades.length); // 4
Muy útil para arreglos cuyos valores son conocidos desde el principio.
Esta sintaxis solo se puede utilizar al momento de declarar el arreglo. No se puede usar en una asignación posterior:
int[] numeros;
numeros = {1, 2, 3}; // Esto causa error
En ese caso, debes usar:
numeros = new int[] {1, 2, 3};
Los arreglos pueden pasarse como parámetros a métodos. Dado que son objetos en Java, al pasarlos se transfiere su referencia y no una copia: lo que se manda es un alias.
public void imprimir(int[] arreglo) {
for (int valor : arreglo) {
System.out.println(valor);
}
}
L1 recibe un arreglo por referencia (alias).L2-4 recorre e imprime cada valor.Cualquier modificación hecha dentro del método afecta directamente al arreglo original.
public void modificar(int[] datos) {
datos[0] = 999;
}
int[] valores = {1, 2, 3};
modificar(valores);
System.out.println(valores[0]); // 999
L2 cambia la posición 0 del arreglo recibido.L5 crea el arreglo original.L6 pasa la referencia al método.L7 el cambio se refleja en el original: imprime 999.Para evitar efectos colaterales, se puede usar Arrays.copyOf() si necesitas una copia.
import java.util.Arrays;
int[] original = {1, 2, 3, 4};
int[] copia = Arrays.copyOf(original, original.length);
L3 arreglo original.L4 copia independiente con Arrays.copyOf; no comparte memoria con el original.Cuando se declara un arreglo de objetos, Java reserva memoria para las referencias, pero no crea los objetos en sí.
String[] palabras = new String[5];
Esto crea un arreglo con 5 espacios que inicialmente contienen null. Acceder a un elemento sin haberlo inicializado lanza una NullPointerException:
palabras[0] = "hola";
System.out.println(palabras[0]);
Para llenar un arreglo de objetos personalizados, debes crear cada instancia de forma individual:
Persona[] personas = new Persona[3];
for (int i = 0; i < personas.length; i++) {
personas[i] = new Persona();
}
L1 reserva 3 referencias, todas null.L3-5 crea una instancia Persona en cada posición.Sin esta inicialización, cualquier intento de acceder a sus métodos o atributos lanzará una excepción.
Java permite definir un método que acepte un número variable de argumentos del mismo tipo, usando la sintaxis ...
public double promedio(int... numeros) {
int suma = 0;
for (int n : numeros) {
suma += n;
}
return (double) suma / numeros.length;
}
promedio(10, 20, 30);
promedio(1, 2, 3, 4, 5, 6);
L1 int... numeros acepta un número variable de argumentos.L3-5 los argumentos se tratan como un arreglo; se suman.L6 devuelve el promedio.L9-10 se puede llamar con distinta cantidad de argumentos.Un arreglo multidimensional en Java es en realidad un arreglo de arreglos. En álgebra lineal le llamamos matriz.
int[][] matriz = new int[3][4];
matriz[0][0] = 10;
System.out.println(matriz[0][0]);
L1 crea una matriz de 3 filas y 4 columnas.L2 asigna 10 a la fila 0, columna 0.L3 imprime ese valor..length) antes de acceder.