Sunteți pe pagina 1din 19

*

Ing. Ana Carolina Melndez Gurrola

* Un array es una

coleccin de vario valores del mismo tipo dentro de una variable. Cada uno de estos valores se identifica mediante un nmero al cual se llama ndice (posicin).

Tipos de arreglos:

* Unidimensional (vectores). * Multidimensionales (el arreglo mas

comn, es el bidimensional, tambin conocido como matrices).

Declaracin de arreglos unidimensionales

* Para acceder al primer elemento del array habra que usar


el ndice cero, para el segundo el ndice uno, para el tercero el ndice dos, y as sucesivamente: Sintaxis de un array: <tipo> <identificador> [];

Observacion:

El <tipo> es cualquier tipo bsico del lenguaje o incluso


algunos complejos como estructuras (objetos). una lista.

* Nota: Un ejemplo comn de

arreglos unidimesionales es

Ejemplos para arreglo de 3 elementos: //Declaracin de un arreglo en 2 lneas.

int notas []; // Declaracin del array


notas= new int[3]; // Instanciacin del array

//Declaracin de un arreglo en 1 lnea.


int notas [] = new int[3]; //Declaracin de un arreglo con valores definidos. int notas [] = {1, 2, 3};

Ejemplo: Se puede interpretar de la siguiente, manera:

V[0]

V[1]
V[n]

Como se puede observar el array notas ser utilizable nicamente a partir de su instanciacin. En este ejemplo, el nmero 3 que est dentro de los corchetes indica el nmero total de elementos de que constar el array. NOTA: puesto que todos los arrays de java estn basados en cero, esto es, el primer elemento del array es cero. Por lo tanto, en este caso, el ltimo elemento sera 2 y no 3, ya que son tres los elementos que lo componen (0, 1 y 2). Donde n=3 la ultima posicin se representa as:
V[0]

V[1]
V[n-1]

Funciones mas comunes con arreglos En el caso de los arreglos unidimensionales, el tamao o cantidad de elementos del arreglo se obtiene con la propiedad length.
int numeros [] = {1,2,3,4,5,6}; System.out.println(Largo: + numeros.length);

Declaracin de arreglos bidimensionales

Los arreglos bidimensionales reciben el nombre de matrices.

La sintaxis sera:
<tipo><identificador>[][]; Nota: El separador de dimensiones son los corchetes. Se puede representar de la siguiente manera:
M [0,0] M [1,0]
M [m,0]

M [0,1] M [1,1]

M [0,n]
M [m,n]

* El tipo de variable puede ser cualquiera de los admitidos

por Java y que ya ha sido explicado. Ejemplos de declaracin e inicializacin con valores por defecto de arrays, usando los distintos tipos de variables Java, seran: byte edad [][] = new byte[4][3]; short edad [][] = new short[4][3]; int edad [][] = new int[4][3]; long edad [][] = new long[4][3]; float estatura [][] = new float[3][2]; double estatura [][] = new double[3][2]; boolean estado [][] = new boolean[5][4]; char sexo [][] = new char[2][1]; String nombre [][] = new String[2][1];

* La

sintaxis para inicializar una matriz de MxN elementos seria la siguiente: * Ejemplo declaracin - aprenderaprogramar.com */
int matriz [][] = new int[3][2]; int matriz [][]; matriz = new int[3][2]; O alternativamente

El nmero de elementos sera: 3 x 2 = 6, dnde 3 es el nmero de filas y 2 es el nmero de columnas. Ahora procedemos a cargar la matriz con valores:
matriz[0][0] matriz[0][1] matriz[1][0] matriz[1][1] matriz[2][0] matriz[2][1] = = = = = = 1; 2; 3; 4; 5; 6;

Hay que recordar que los elementos empiezan a numerarse por 0. As, la esquina superior izquierda de la matriz ser el elemento [0][0] y la esquina inferior derecha ser el [2][1]. Hay que prestar atencin a esto porque en otros lenguajes de programacin la numeracin puede empezar por 1 en vez de por 0. Tambin se pueden cargar directamente los elementos, durante la declaracin de la matriz de la siguiente manera:
int[][] matriz = {{1,2},{3,4},{5,6}};

donde {1,2} corresponde a la fila 1, {3,4} a la fila 2 y {5,6} a la fila 3, y los nmeros separados por coma dentro de cada fila, corresponden a las columnas. En este caso, los nmeros (1, 3, 5) de cada una de las filas corresponden a la primera columna y los nmeros (2, 4, 6) ataen a la segunda columna.

Para obtener el nmero de filas de la matriz, podemos recurrir a la propiedad length de los arrays, de la siguiente manera:
int filas = matriz.length;

Para el caso del nmero de columnas sera de la siguiente forma :


int columnas = matriz[0].length;

Tambin Java nos permite la posibilidad de clonar una matriz, es decir, crear una matriz nueva a partir de otra matriz, siguiendo esta sintaxis:
String[][] nuevaMatriz = matriz.clone();

* donde clone() es un mtodo especial, que permite la

clonacin de arrays de cualquier dimensin en Java. De esta manera nuevaMatriz y matriz son 2 matrices distintas pero con los mismos valores. * Nota: Un ejemplo comn de arreglos bidimensionles es una tabla. EJERCICIO Vamos a plantear y resolver un ejercicio: queremos almacenar en una matriz el nmero de alumnos con el que cuenta una academia, ordenados en funcin del nivel y del idioma que se estudia. Tendremos 3 filas que representarn al Nivel bsico, medio, Nivel avanzado y 4 columnas en las que figurarn los idiomas (0 = Ingls, 1 = Francs, 2 = Alemn y 3 = Ruso). Se pide realizar la declaracin de la matriz y asignarle unos valores de ejemplo a cada elemento.

SOLUCIN La declaracin de la matriz sera:


int alumnosfxniveleidioma [][] = new int[3][4];

Podramos asignar contenidos de la siguiente manera:


alumnosfxniveleidioma[0][0] = 7 alumnosfxniveleidioma[0][1] = 14 alumnosfxniveleidioma[0][2]= 8 alumnosfxniveleidioma[0][3] = 3 alumnosfxniveleidioma[1][0] = 6 alumnosfxniveleidioma[1][1]= 19 alumnosfxniveleidioma[1][2] = 7 alumnosfxniveleidioma[1][3] = 2 alumnosfxniveleidioma[2][0] = 3 alumnosfxniveleidioma[2][1]= 13 alumnosfxniveleidioma[2][2] = 4 alumnosfxniveleidioma[2][3] = 1

Tambin, podramos asignar contenido de esta otra forma, como ya se ha explicado anteriormente:
int alumnosfxniveleidioma [][] = {{7,14,8,3},{6,19,7,2},{3,13,4,1}};

La representacin grfica que podramos asociar a esta asignacin de datos sera esta matriz:

La organizacin de la informacin en matrices, nos generar importantes ventajas a la hora del tratamiento de datos en nuestros programas. Para terminar en cuanto a multidimensionalidad, veamos casos de declaraciones con ms de dos dimensiones.

Para ello supongamos que estamos realizando un conteo de coches, es decir, que estamos contando los coches que pasan por un determinado lugar en un periodo de tiempo que puede ser un da, varios das, varios meses, etc.

La forma de declarar esos arrays podra ser la siguiente:

Veamos lo que sera un ejemplo de programa con array multidimensional, usando un tipo String. public class MatrizAlumnos {

public static void main(String arg[]) {


String[ ][ ] nombreAlumno = new String[5][25];

nombreAlumno[2][23] = Pedro Hernndez Gonzlez; System.out.println(El alumno nmero 24 del curso tercero se llama +nombreAlumno[2][23]); } }

El resultado del programa es la aparicin del mensaje El alumno nmero 24 del curso tercero se llama Pedro Hernndez Gonzlez. En este ejemplo, [5] representa a los cursos. Hablamos de 5 cursos que son identificados con 0, 1, 2, 3, 4, por lo que [2] hace mencin al tercer curso; lo mismo podemos decir de [23], que corresponde al alumno nmero 24. Hay que recordar que siempre en Java tenemos que contar el cero, ya que si no lo hacemos podemos cometer errores.