Está en la página 1de 6

888.

9esarrollo de aplicaciones con mane2o de datos en la memoria

Que es un arreglo? Un arreglo es un tipo de dato estructurado que permite guardar colecciones de elementos del mismo tipo. Arreglo

12

28

-3

Esto representa un lugar en memoria en el que se pueden guardar ms de un valor en una misma variable, solo utili ando el !ndice en el que se encuentra el valor deseado.

Declaracin de arreglos "ara declarar un arreglo se utili a el siguiente #ormato$ tipo nombre%arreglo &' ( ne) tipo&tama*o'+ 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 ,ava -int, double, c.ar, etc/ o bien de tipos de#inidos por el usuario -"ersona, Estudiante, etc/. 0ama*o representa la cantidad de casillas que se reservan para el arreglo. En ,ava todos los arreglos empie an en el sub!ndice 0 1 llegan al sub!ndice tama*o-1. "or e2emplo$ int arr&' ( ne) int&3'+ 44 arreglo de 3 elementos enteros

c.ar cad&' ( ne) c.ar&10'+ 44 arreglo de 10 elementos de tipo carcter En los e2emplos anteriores, arr es un arreglo entero de 3 elementos, cu1o !ndice inicial es cero 1 el 5ltimo es 6, cad es un arreglo de caracteres, que contiene 10 di#erentes caracteres, desde el cero .asta el 7. Uso de los elementos del arreglo "ara usar los elementos individuales de un arreglo se usa el siguiente #ormato$

arreglo&sub!ndice' :omo un elemento de un arreglo es un dato, se puede usar como cualquier variable de ese tipo+ Enseguida se pueden ver algunos e2emplos$ int arr&' ( ne) int &4'+ arr&3' ( 8+ arr&2'( 8nteger.parse8nt-t1.get0e;t-//+ t2.set0e;t-<< = arr&3'/+ arr&0' ( arr&1' = arr&2'+ int > ( 2+ arr&>=1' ( 20+ Ejemplo: En este siguiente e2emplo, tenemos una aplicaci?n que de#ine un arreglo de 10 enteros 1 los iniciali a con el valor de 0 a 7 correspondientemente el valor de cada !ndice, es decir que el elemento cero tiene un cero, el elemento 1, tiene 1, 1 as! sucesivamente .asta 7. @inalmente se despliegan los valores.

public class AplicacionArreglo B public static void main-Ctring&' args/ B int arreglo&' ( ne) int &10'+ #or -int i(0+ iD10+ i==/ B arreglo &i' ( i+ E #or -int i(0+ iD10+ i==/ B C1stem.out.println-<Elemento &< = i = <' ( < = arreglo&i'/+ E E E Esta aplicaci?n provocar la siguiente e2ecuci?n$

Inicializar arreglos en la declaracin En ,ava es posible iniciali ar un arreglo al declararlo+ esto se .ace sin de#inir el n5mero de elementos 1 colocando un operador de asignaci?n 1 despuFs entre llaves la lista de valores para el arreglo separados por comas, veamos los siguientes e2emplos$ double arreglo&' ( B 23.6, 64.22, G8E+ c.ar cadena&' ( BHaI, HbI, HcI, HdIE+ En ,ava es posible saber el n5mero de elementos del arreglo utili ando el nombre del arreglo un punto 1 la palabra lengt., como se muestra en el siguiente e2emplo$

public class AplicacionArreglo1 B public static void main-Ctring&' args/ B int arreglo&' ( B1,2,3E+ #or -int i(0+ iDarreglo.lengt.+ i==/ B C1stem.out.println-<Elemento &< = i = <' ( < = arreglo&i'/+ E

E E El cual al e2ecutar mostrar lo siguiente$

Es mu1 sencillo tomar datos 1 agregarlos a un arreglo, como lo puede mostrar la siguiente aplicaci?n, este applet, tomar un dato de te;to 1 lo a*adir en un arreglo de n5meros, adems desplegar lo que tiene el arreglo en memoria, para ser desplegado en el te;to de rea. import 2ava.a)t.J+ import 2ava.applet.J+ import 2ava.a)t.event.J+ 44 Dapplet )idt.(<400< .eig.t(<200< code(<AppletArreglos1<KD4appletK public class AppletArreglos1 e;tends Applet implements ActionListenerB Label l1, l2+

Mutton b1, b2,b3,b4+ 0e;t@ield t1+ 0e;tArea ta1+ int arreglo&'+ int conta+ public AppletArreglos1-/ B l1 ( ne) Label-<9ato a A*adir</+ l2 ( ne) Label-<0e;to para ver Arreglo</+ t1 ( ne) 0e;t@ield-/+ ta1 ( ne) 0e;tArea-10,12/+ b1 ( ne) Mutton-<A*ade</+ b2 ( ne) Mutton-<Nuestra Oector</+ b3 ( ne) Mutton-<Limpia Oector</+ b4 ( ne) Mutton-<Limpia :ampos</+ add-l1/+ add-t1/+ add-l2/+ add-ta1/+ add-b1/+ add-b2/+ add-b3/+ add-b4/+ b1.addActionListener-t.is/+ b2.addActionListener-t.is/+ b3.addActionListener-t.is/+ b4.addActionListener-t.is/+ arreglo ( ne) int&100'+ conta(0+ E public void action"er#ormed-ActionEvent ae/ B i# -ae.getCource-/ (( b1/ B i# -conta K arreglo.lengt./ B ta1.set0e;t-<Po se puede a*adir otro elemento</+ E else B arreglo&conta==' ( 8nteger.parse8nt-t1.get0e;t-//+ t1.set0e;t-<</+ E E i# -ae.getCource-/ (( b2/ B ta1.set0e;t-<</+ #or -int i(0+ i D conta+ i==/ B ta1.append-<< = arreglo&i' = <Qn</+ E E i# -ae.getCource-/ (( b3/ B conta ( 0+ arreglo ( ne) int&100'+ E i# -ae.getCource-/ (( b4/ B

t1.set0e;t-<</+ ta1.set0e;t-<</+ E E La cual se visuali a asi$ E

9e la aplicaci?n anterior podemos observar que aunque sabemos que lengt. es el n5mero de elementos en el arreglo, solo estamos utili ando conta en el ciclo para desplegar, 1a que esta variable nos dice cuantos elementos se .an introducido al arreglo. Usando mal los ndices :uando un sub!ndice esta mal empleado, .aciendo re#erencia a un elemento en el arreglo que no e;iste, ,ava arro2a un error de e2ecuci?n llamado de e;cepci?n, el cual es Arra18nde;RutR#MoundsE;ception, debemos tener cuidado en esto, pues la aplicaci?n se

cancela 1 no continua, como se muestra en la siguiente aplicaci?n$

public class AplicacionArreglo4 B public static void main-Ctring&' args/ B int arreglo&' ( B1,2,3E+ #or -int i(0+ iDarreglo.lengt.=1+ i==/ B C1stem.out.println-<Elemento &< = i = <' ( < = arreglo&i'/+ E E E

La e2ecuci?n que muestra la aplicaci?n es$

"odemos observar como la aplicaci?n alcan a a mostrar el 5ltimo valor posible, pero cuando .ace re#erencia al elemento 3 -1a que en la aplicaci?n la condici?n es i D arreglo.lengt. = 1, se sale del rango 1 arro2a la e;cepci?n/.

También podría gustarte