Anda di halaman 1dari 5

Arreglos 04

JA
Bauman / Dcima

Java Electrotecnia
Arreglos
Java

Arreglos:
Los arreglos en Java, son objetos. Debido a que los arreglos son objetos, pueden ser pasados a otros
objetos; son un medio para guardar una lista de elementos relacionados. Todo lo que se quiere guardar en
un arreglo es guardado en un elemento. Cuando se declara un arreglo, se le da un tipo de dato, un
nombre de variable y un tamao. El tipo de dato determina el tipo de elemento que contendr el arreglo,
el nombre es la manera en que se har referencia al arreglo y el tamao determina la cantidad de
elementos en el arreglo. Los arreglos se pueden usar para guardar informacin esttica, como los das de
la semana, o informacin variable como la entrada de un usuario a una pgina Web.
Se puede usar cualquiera de los tipos de datos (primitivos u objetos) para crear un arreglo, pero una
declaracin de arreglo (y por lo tanto, los elementos) puede contener solo un tipo de dato. Por ejemplo se
puede tener un arreglo de enteros, un arreglo de cadenas o un arreglo de arreglo, pero no se puede tener
un arreglo que contenga tanto enteros como cadenas.

Para crear un arreglo en Java se siguen tres pasos:

1. Se declara una variable para que contenga el arreglo.


2. Se crea un nuevo objeto de arreglo y se asigna a la variable de arreglo.
3. Se guardan valores en ese arreglo.

Declaracin de Variables de Arreglos:


El primer paso para crear un arreglo, es crear una variable que contendr el arreglo. El proceso para
nombrar una variable de arreglo es el mismo que para cualquier otra variable. El nombre del arreglo debe
indicar el tipo del elemento que contendr el arreglo. Lo que hace diferente a una variable de arreglo (y
que, por lo tanto, sea tratada como una variable de arreglo) es el uso de corchetes vacos. Las siguientes
son declaraciones de variables de arreglos tpicas:

String DiasDeLaSemana[];
int CantidadDeNumeros[];

Un mtodo alterno para la definicin de una variable de arreglo es poner los corchetes despus del tipo
de dato en vez de ponerlos despus de la variable. Por ejemplo:

String[] DiasDeLaSemana;
int[] CantidadDeNumeros;

Creacin de objetos de arreglo


El segundo paso es crear un objeto de arreglo y asignarlo a la variable. Hay dos formas para hacer
esto:

? Usando new.
? Inicializando directamente el contenido del arreglo.

La primera forma es usar el operador new para crear una nueva instancia de un arreglo.

String Nombres[] = new String[10];

2 POLITECNICO
Esta lnea crea un nuevo arreglo que contendr diez elementos de tipo String. Cuando se crea un
nuevo objeto de arreglo usando esta forma (operador new), se debe declarar el tamao del arreglo.
Los objetos de arreglo pueden contener tipos primitivos, tales como enteros o booleanos, de la misma
manera en que pueden contener objetos:

int Temp[] = new int[99];

Cuando crea un objeto de arreglo usando new todos sus elementos son inicializados por usted: 0 (cero)
para los arreglos numricos, false para los booleanos, '\0' para los arreglos de caracteres, y null para
los objetos. Tambin se puede crear e inicializar un arreglo al mismo tiempo. En vez de usar new para
crear el nuevo objeto de arreglo se encierran todos los elementos del arreglo entre un par de llaves, y se
separa a cada elemento mediante comas; a continuacin vemos un ejemplo prctico que podemos
comenzar a tipear:

public class Class1 {


public static void main(String[] args) {
String Dias[]={"Lunes", "Martes", "Mircoles", "Jueves",
"Viernes", "Sbado", "Domingo"};
}
}

Cada uno de los elementos que se utilizan para inicializar el arreglo deben ser del mismo tipo de dato,
as como del mismo tipo de dato que el de la variable que contiene a ese arreglo. Esto significa que si el
tipo de dato es String, todos los elementos tambin deben ser cadenas.
En tiempo de ejecucin se crea automticamente un arreglo, y su tamao estar basado en la cantidad
de elementos que se usaron cuando fue declarado. El ejemplo anterior crea un arreglo de objetos String
llamado Dias, que contiene siete elementos.

Acceso a elementos de arreglo


Una vez que tengamos un arreglo con valores iniciales, puede utilizar los valores guardados en los
elementos del arreglo de la misma forma en que lo hara con cualquier otra variable. Puede usar un
elemento como parte de una prueba condicional, extraer un valor para usarlo en un clculo o para
desplegarlo en la pantalla, y tambin cambiar el valor del elemento. La diferencia entre una variable (que
puede guardar un solo valor a la vez) y una variable de arreglo es la manera en que hace referencia a
cada elemento del arreglo para extraer solamente los datos contenidos en un elemento especfico.
Para obtener un valor guardado dentro de un arreglo, se debe proporcionar dos partes de informacin:
el nombre del arreglo, y el nmero del elemento. El nmero del elemento se denomina subndice del
arreglo. Este se encierra entre corchetes y se pone a continuacin del nombre del arreglo, teniendo en
cuenta el ejemplo anterior, podemos verlo de la siguiente manera:

Dias[subndice];

POLITECNICO 3
Arreglos
Java

Vemoslo ahora con un ejemplo prctico:

public class Class1 {


public static void main(String[] args) {
String Dias[]={"Lunes", "Martes", "Mircoles", "Jueves",
"Viernes", "Sbado", "Domingo"};
System.out.println(Dias[1]);
System.out.println(Dias[2]);
}
}

Debemos tener en cuenta que los arreglos en Java estn basados en cero. Esto significa que el subn-
dice del primer elemento es 0 y el ltimo es uno menos que el tamao del arreglo. Entonces, en este caso,
Dias[1], mostrar "Martes", y Dias[2], mostrar "Mircoles".
La parte Dias de esta expresin (Dias[subndice]) es la variable que contiene el objeto de arreglo.
La expresin subndice, especifica el elemento al que se acceder dentro del arreglo. Los subndices del
arreglo estn basados en cero, lo que significan que comienzan en 0, al igual que sucede en C y C++. Por
lo tanto un arreglo con 10 elementos tiene 10 elementos que son accedidos usando los subndices del 0 al
9. Esto nos obliga a tomar ciertos recaudos tales como:
? Cuando hacemos referencias a un elemento del arreglo tambin hay que pensar en trminos de
uno menos. Por ejemplo, Dias[0] = "Lunes", donde el primer da de la semana es cero y no
uno, como se podra esperar.
? Cuando se est incrementando a travs de los elementos del arreglo, se comienza en cero y se
termina en el tamao menos uno.

Observe que todos los subndices de arreglo son revisados en tiempo de compilacin y en tiempo de
ejecucin para asegurarse de que se encuentra dentro de los lmites del arreglo: mayor o igual a 0, pero
uno menos que la longitud del arreglo. En Java es imposible acceder o asignar un valor a un elemento que
est fuera de los lmites del arreglo. Observe las dos instrucciones siguientes, por ejemplo:

String[] Arreglo = new String[10];


Arreglo[10] = "HOLA";

Arreglo[10] NO EXISTE. El elemento ms grande en el arreglo es el 9, que es uno menos que su


tamao de 10. Cualquier programa Java con la instruccin Arreglo[10] producir un error de compila-
cin. Si el ndice del arreglo es calculado en tiempo de ejecucin (por ejemplo, como parte de un ciclo) y
hace referencia a un elemento que est fuera de los lmites del arreglo, el intrprete Java tambin produ-
cir un error.

Para no excedernos accidentalmente en la cantidad de elementos de un arreglo, podemos probar la


longitud de dicho arreglo usando el dato miembro length, ya que est disponible para todos los objetos
de arreglo, independientemente del tipo de dato:

int CantidadDeDatos = Arreglo.length; // asignar el valor 10 a la


// variable CantidadDeDatos.

4 POLITECNICO
Cambio de elementos de un arreglo
Para asignar un valor a un elemento de arreglo especfico debemos poner una instruccin de asignacin
despus de la expresin del nombre del arreglo:

MiArray[1] = 15;
Sentencia[0] = "PC";
Sentencia[10] = Sentencia[0]; // Ahora Sentencia[10] equivale, por
// referencia, a "PC";

Una cosa importante que debemos observar es que un arreglo de objetos en Java es un arreglo de
referencias a esos objetos. (Es similar, de alguna forma, a un arreglo de apuntadores en C o C++.)
Cuando se asigna un valor a un elemento de un arreglo, se est creando un referencia a ese objeto., al
igual que como se hace con una variable cualquiera. Cuando se mueven valores dentro de un arreglo
(como se hizo en el ejemplo anterior en la ltima lnea), simplemente se reasigna la referencia. No se
copia el valor de un elemento a otro, a excepcin de los arreglos de datos primitivos, como int o float,
que si se copian los valores de un arreglo a otro.
Los arreglos de referencia a objetos, a diferencia de los objetos mismos, son particularmente tiles,
debido a que significa que se pueden tener varias referencias a los mismos objetos, tanto dentro como
fuera de los arreglos. Por ejemplo, se puede asignar un objeto que est contenido en un arreglo a una
variable, y hacer referencia a ese mismo objeto usando la variable o el subndice del elemento del arreglo.

Arreglos de Arreglos
Java soporta arreglos de arreglos. Puede considerar a estos arreglos de arreglos como arreglos
multidimensionales (como los que encontramos en C). Un arreglo de Java puede contener como elementos
otros arreglos, y estos ltimos pueden contener otros ms, y as sucesivamente, con tanta profundidad
como se quiera. Cuando declare un arreglo debe proporcionar un tamao para cada una de las columnas,
y cuando necesite hacer referencia a un elemento especfico puede estar ahora en cualquiera de las
columnas.

//Aqu creamos una simple matriz de 12 filas por 12 columnas.


int Coordenadas[][] = new int[12][12];

POLITECNICO 5

Anda mungkin juga menyukai