Anda di halaman 1dari 4

Agenda Arreglos en Java 2

Ing. Jorge Luis Chuc Lpez


Instituto Tecnolgico de Campeche

Qu es un arreglo? Declaracin de arreglos. Declaracin e inicializacin de arreglos. Copia de arreglos. Acceso a los elementos individuales. Arreglos multidimensionales.

22/03/2006

22/03/2006

Qu es un arreglo?
Un arreglo es una estructura de datos que almacena una coleccin de valores, todos ellos del mismo tipo de datos. Los elementos individuales del arreglo se acceden mediante un ndice de tipo entero.

Declaracin de arreglos
Declaracin:
tipo tipo tipo tipo [] variable; variable[]; [] variable = new tipo[tamao]; variable[] = new tipo[tamao];

Ejemplos
int[] a; double[] b; int[] c = new int[20]; char[] d = new char[64];
22/03/2006 4

22/03/2006

Declaracin e inicializacin de arreglos


int[] primos = {2, 3, 5, 7, 11, 13}; int[] cuadrados = {1, 4, 9, 16, 25, 36}; String[] meses = {Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic};

Copia de arreglos
Los arreglos se manejan por referencia:
int [] a = {1, 4, 9, 16, 25}; int [] b = a;

a y b son dos referencias que apuntan al mismo arreglo.


a b 1 4 9 16 25

Una vez creado un arreglo no puede se cambiar su tamao (nmero mximo de elementos que permite almacenar).
22/03/2006 5 22/03/2006

Copia de arreglos
Puede utilizarse el mtodo arraycopy() de la clase System para copiar todos los valores de un arreglo en otro:
System.arraycopy( from, fromIndex, to, toIndex, count );

Copia de arreglos
int [] a = {1, 4, 9, 16, 25}; int [] b = {2, 3, 5, 7, 11, 13}; System.arraycopy(a, 1, b, 2, 3);
a 1 4 9 16 25 b 2 3 4 9 16 13
8

Con arraycopy() cada arreglo debe ser una referencia a agregados de datos diferentes.
22/03/2006 7 22/03/2006

Acceso a los elementos individuales


Los elementos individuales se acceden mediante un ndice. En un arreglo de n elementos, el primer elemento tiene el ndice 0, el ltimo elemento tiene ndice n-1. Se puede saber el nmero de elementos de un arreglo utilizando el mtodo length();
22/03/2006 9

Acceso a los elementos individuales


int[] a = new int[100]; for ( int i = 0; i < 100; i++ ) { a[i] = 2*i; } for ( int i = 0; i < a.length( ); i++ ) { System.out.println(a[i]); }

22/03/2006

10

Ejercicio # 1
Crea una clase con el nombre EscalaVacaciones que incluya un arreglo de 7 elementos (cada uno conteniendo el nmero de das de vacaciones relativas al ndice del arreglo), de acuerdo a la siguiente tabla: Nm. De aos de empleo Menos de un ao 1, 2 3 aos 45 6 ms aos
22/03/2006

Ejercicio # 1
Utilice un mtodo llamado setEscalaVacaciones, para asignar cada uno de los valores en el arreglo. Utilice un mtodo llamado mostrarDiasVacaciones que acepte un entero (aniosDeServicio) y despliegue el nmero de das de vacaciones que recibir el empleado. Por ejemplo, se se pasa el valor 1 como argumento a mostrarDiasVacaciones, entonces se mostrar el nmero 15. Compile y ejecute el programa con la clase EscalaVacacionesTest proporcionada.
22/03/2006 12

Nmero de das de vacaciones 10 15 20 25


11

Arreglos multidimensionales
Los arreglos pueden tener ms de una dimensin. Los arreglos multidimensionales usan ms de un ndice para acceder a los elementos individuales del arreglo.
double [][] n = new double[3][4]; int [][] x = {{1,2,3},{4,5,6}}; double [][] m = { {1.0d, 3.1d, 3.25d}, {0.7d, 2.9d, 9.9d}, {1.1d,1.2d,2.2d} };
22/03/2006 13

Arreglos multidimensionales
int [][] a = {{1,2}, {3}, {4,5,6}}; for (int i = 0; i < a.length( ); i++) { for(int j = 0; j < a[i].length( ); j++) { System.out.print( + a[i][j] ); } System.out.println( ); {

22/03/2006

14

Anda mungkin juga menyukai