Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estructuras de almacenamiento
Estructuras de almacenamiento 3-1
TABLA DE CONTENIDOS
Declaración de Arrays ...................................................................................................... 2
Inicialización de Arrays ................................................................................ 2
Arrays Multidimensionales ........................................................................... 3
3-2 Estructuras de almacenamiento
Declaración de Arrays
Los arrays permiten agrupar varios datos u objetos del mismo tipo o clase bajo un mismo
nombre. Por tanto hablaremos de arrays de enteros, array de boolean, array de double,
array de String , etc…
En Java, un array es un objeto incluso cuando es un array de tipos primitivos. Al ser un
objeto, su declaración implica solo una reserva de memoria para la referencia. Nunca se
especifica el tamaño del array en su declaración. Existen dos formas distintas de declarar
arrays:
int i[]; // Estilo C/C++
int[] i; // Estilo alternativo
Con el estilo alternativo, Java permite mantener agrupado el tipo y nombre de la variable.
Hay una diferencia entre estas dos definiciones:
en el primer caso los corchetes afectan sólo a la variable.
En el segundo al tipo.
Por ejemplo, si tenemos “int a[], b;” a es un array de enteros y b es una variable
int.
Sin embargo, si tenemos “int[] a, b;” a y b son array de enteros.
Inicialización de Arrays
Para crear arrays se utiliza la palabra reservada ‘new’, (como en la creación de cualquier otro
objeto). En este momento se especifica el tamaño del array y se realiza la reserva de
memoria.
int[] i = new int[10];
Empleado2[] e = new Empleado2[10];
String [] nombres = new String[10];
El primer array permite almacenar 10 enteros. Cada una de las posiciones del array se
inicializa a los valores por defecto, es decir, 0. En los otros casos, el array de Empleado2 y de
String, se trata de objetos. Se realiza una reserva de memoria para mantener diez
referencias, pero no se crean los objetos. Cada uno de estos objetos tendrán que crearse de
forma manual y hasta entonces, las referencias tendrán un valor nulo.
Todos los arrays se indexan desde 0 hasta longitud ‐1. Cualquier acceso fuera de rango
generará una excepción.
Java permite una manera de inicializar arrays en el momento de su declaración:
Estructuras de almacenamiento 3-3
int[] i = {1,2,3,4,5,6,7,8,9,10};
String[] s = {“Fernando”,”Carmen”,”Luis”,”Elena”};
Vemos un ejemplo para la carga en un array de 5 elementos de los números comprendidos
entre el 0 y el 5. Y sacamos por pantalla el cuadrado de cada número almacenado.
public class Unidimensional {
Fíjate en la los parámetros del método main. Ahora entiendes que es String[] args.
Arrays Multidimensionales
Java permite la creación de arrays de arrays(y arrays de arrays de arrays, etc..). Véase el
siguiente fragmento de código:
int[][] dos = new int [2][2];
dos[0][0] = 1;
dos[0][1] = 2;
dos[1][0] = 3;
dos[1][1] = 4;
También existe la posibilidad de crear arrays multidimensionales irregulares:
package cap4;
v[1][2] = 23;
v[1][3] = 24;
v[2] = new int[5]; // el tercer elemento tiene 5 subelementos
v[2][0] = 31;
v[2][1] = 32;
v[2][2] = 33;
v[2][3] = 34;
v[2][4] = 35;
En el ejemplo se usa la propiedad length de los arrays, que permite conocer la longitud de un
array.
En el siguiente ejemplo se imprimen en pantalla los argumentos recibidos como parámetro
en el método main:
package cap4;