Beruflich Dokumente
Kultur Dokumente
¿Qué es un arreglo?
Un arreglo es un tipo de dato estructurado que permite guardar colecciones de elementos del mismo tipo.
También es una colección finita de datos del mismo tipo, que se almacenan en posiciones consecutivas
de memoria y reciben un nombre común
Ejemplo de Arreglo:
Esto representa un lugar en memoria en el que se pueden guardar más de un valor en una misma
variable, solo utilizando el índice en el que se encuentra el valor deseado.
Por ejemplo, supongamos que queremos guardar las notas de los 20 alumnos de una clase.
Para almacenar las notas utilizaremos un arreglo de 20 elementos de tipo double y en cada elemento del
arreglo guardaremos la nota de cada alumno.
Arreglo notas:
Para acceder a cada elemento del arreglo se utiliza el nombre del arreglo y un índice que indica la
posición que ocupa el elemento dentro del arreglo.
El primer elemento del arreglo ocupa la posición 0, el segundo la posición 1, etc. En un arreglo de N
elementos el último ocupará la posición N-1.
En el ejemplo anterior, notas [0] contiene la nota del primer alumno y notas [19] contiene la del último.
Declaración de arreglos
Donde tipo es el tipo de los datos que almacenará el arreglo. Es importante mencionar que se pueden
declarar arreglos de los tipos primitivos de Java (int, double, char, etc.) o bien de tipos definidos por el
usuario (Persona, Estudiante, etc.).
Donde new es el operador para crear objetos. Mediante new se asigna la memoria necesaria para ubicar
el objeto. Java implementa los arreglos como objetos.
Donde tamaño representa la cantidad de casillas que se reservarán para el arreglo. En Java todos los
arreglos empiezan en el subíndice 0 y llegan al subíndice tamaño-1, debe ser una expresión entera
positiva.
Por ejemplo:
En los ejemplos anteriores, arr es un arreglo entero de 6 elementos, cuyo índice inicial es cero y el último
es 5, cad es un arreglo de caracteres, que contiene 10 diferentes caracteres, desde el cero hasta el 9.
Si no hay memoria suficiente para crear el arreglo, new lanza una excepción java.lang.OutOfMemoryError.
Debe quedar clara la diferencia entre la referencia (nombre del arreglo) y el contenido del arreglo.
El nombre del arreglo contiene la dirección de memoria del contenido del arreglo.
Un arreglo es un objeto, por lo tanto, cuando se crea, a sus elementos se les asigna automáticamente un
valor inicial:
Los valores iniciales deben aparecer en el orden en que serán asignados a los elementos del arreglo.
Por ejemplo:
Se declara el arreglo notas de tipo double, se reserva memoria para 6 elementos y se les asignan esos
valores iniciales.
En este siguiente ejemplo, tenemos una aplicación que define un arreglo de 10 enteros y los inicializa con
el valor de 0 a 9 correspondientemente el valor de cada índice, es decir que el elemento cero tiene un
cero, el elemento 1, tiene 1, y así sucesivamente hasta 9. Finalmente se despliegan los valores.
Se obtiene:
En Java es posible saber el número de elementos del arreglo utilizando el nombre del arreglo un punto y
la palabra length, como se muestra en el siguiente ejemplo:
Ejemplo 2:
Para acceder a cada elemento del arreglo se utiliza el nombre del arreglo y un índice que indica la
posición que ocupa el elemento dentro del arreglo.
Se puede utilizar como índice un valor entero, una variable de tipo entero o una expresión de tipo entero.
El primer elemento del arreglo ocupa la posición 0, el segundo la posición 1, etc. En un arreglo de N
elementos el último ocupará la posición N-1.
Un elemento de un arreglo se puede utilizar igual que cualquier otra variable. Se puede hacer con ellos las
mismas operaciones que se pueden hacer con el resto de variables (incremento, decremento, operaciones
aritméticas, comparaciones, etc.).
Por ejemplo:
Si se intenta acceder a un elemento que está fuera de los límites del arreglo (un elemento con índice
negativo o con un índice mayor que el que corresponde al último elemento del arreglo) el compilador no
avisa del error. El error se producirá durante la ejecución. En ese caso se lanza una excepción
java.lang.ArregloIndexOutOfBoundsException.
Podemos utilizar length para comprobar el rango del arreglo y evitar errores de acceso.
Si escogemos la posición 4 del arreglo y le damos un valor de 33, se obtiene que efectivamente en la
posición 4 del arreglo se asignó dicho valor:
Para recorrer un arreglo se utiliza una instrucción iterativa (normalmente una instrucción for, aunque
también puede hacerse con while o do..while) utilizando una variable entera como índice que tomará
valores desde el primer elemento al último o desde el último al primero.
Por ejemplo, el siguiente fragmento de programa Java declara un arreglo de 7 elementos de tipo double y
le asigna valores iniciales. A continuación recorre el arreglo, utilizando la instrucción for, para mostrar por
pantalla el contenido del arreglo.
double [ ] notas = {2.3, 8.5, 3.2, 9.5, 4, 5.5, 7.0}; //arreglo de 7 elementos
System.out.print (notas[i] + " "); //se muestra cada elemento del arreglo
Para evitar errores de acceso al arreglo es recomendable utilizar length para recorrer el arreglo completo.
Por ejemplo:
double [ ] notas = {2.3, 4.5, 3.2, 1.5, 4.1, 3.5, 5.0}; //arreglo de 7 elementos
System.out.print (notas[i] + " "); //se muestra cada elemento del arreglo
Programa que lee por teclado la nota de los alumnos de una clase y calcula la nota media del grupo.
También muestra los alumnos con notas superiores a la media. El número de alumnos se lee por teclado.
Este programa crea un arreglo de elementos de tipo double que contendrá las notas de los alumnos. El
tamaño del arreglo será el número de alumnos de la clase.
Se realizan 3 recorridos sobre el arreglo, el primero para asignar a cada elemento las notas introducidas
por teclado, el segundo para sumarlas y el tercero para mostrar los alumnos con notas superiores a la
media.
A partir de java 5 se incorpora una instrucción for mejorada para recorrer arreglos y contenedores en
general.
….
nombreDeVariable: variable a la que en cada iteración se le asigna el valor de cada elemento del arreglo.
Esta definida dentro del for por lo que solo es accesible dentro de él.
Mediante este bucle solo podemos acceder a los elementos del arreglo. No podemos hacer
modificaciones en su contenido.
Ejemplo 5: El siguiente programa crea un arreglo temperatura de 10 elementos. Lee por teclado los
valores y a continuación los muestra por pantalla.