Professional Documents
Culture Documents
Array en Java
Asignatura : Lenguaje de Programacin I Semestre : 2012-I Turno : Noche Elaborado por
Objetivos
Declarar un array de tipos de datos primitivos. Inicializar un array mediante lazos y en la declaracin. Utilizar lazos para realizar operaciones con un array:
Ordenar un array con el mtodo burbuja. Buscar en un array con el mtodo lineal.
Ing. Oscar ALberto Barnett Contreras
Declaracin de un array
Array: objeto que contiene una coleccin de elementos con el mismo tipo de dato. Declaracin de un array:
lluvia[0] lluvia[1] lluvia[2] lluvia[3] lluvia[4] lluvia[5] lluvia[6] lluvia[7] lluvia[8] lluvia[9] lluvia[10] lluvia[11]
0
0 0 0 0 0 0 0 0 0 0 0
Tipo[] identificador;
O Tipo identificador[];
Un array se construye con el operador new int lluvia[]; lluvia = new int[12]; O int lluvia[] = new int[12]; Se crea un array de 12 elementos con valor 0.
Declaracin de un array
lluvia[0] lluvia[1]
0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
Declaracin de un array
lluvia[0] lluvia[1]
null
null null null null null null null null null null null
lluvia[2]
lluvia[i+1]
{ System.out.print(LLUVIA PARA EL MES + (i+1)); lluvia[i] = sc.nextDouble(); suma += lluvia[i]; } mediaAnual = suma/12; System.out.println(Media anual = + mediaAnual);
Ing. Oscar ALberto Barnett Contreras
Procesos en un array
Calcula la diferencia entre la lluvia del mes y la media anual
double diferencia;
for( int i = 0; i < 12; i++) {
Tamao de un array
El tamao de un array se obtiene por medio del miembro length del objeto array. Los lazos de los ejemplos anteriores pueden escribirse como: for( int i = 0; i < lluvia.length; i++) {
; ;
}
Ing. Oscar ALberto Barnett Contreras
Mtodo de ordenacin
Compara el primer elemento con el segundo, luego el segundo, con el tercero, etc., si es necesario se intercambian los elementos. Al final de esta pasada se tendr el primer elemento ordenado al inicio. La pasada se repite a partir del segundo elemento con todos los dems y luego a partir del tercer , etc., hasta el penltimo.
for(i = 0; i<n-1; i++) for(j = i+1; j<n; j++) if(d[i]>d[j]) { }
Ing. Oscar ALberto Barnett Contreras
Ordenacin y despliegue
//Despliega lista desordenada System.out.println("Desordenados\n"); for(i = 0; i<n; i++) System.out.println(d[i]); System.out.println("\nOrdenados\n"); //ordena el vector for(i = 0; i<n-1; i++) for(j = i; j<n; j++) if(d[i].compareToIgnoreCase(d[j])>0){ String temp = d[i]; d[i] = d[j]; d[j] = temp; } //Despliega lista ordenada for(i = 0; i<n; i++) System.out.println(d[i]); } }
Intercambia cadenas Compara cadenas 0 iguales >0 la primera mayor <0 la primera menor
Ing. Oscar ALberto Barnett Contreras
bandera = 1; posicin = i;
Array Multidimensional
Un array multidimensional es un array de elementos array. En un array multidimensional de k-dimensiones; sus elementos se pueden acceder empleando la siguiente sintaxis: array [ i1 ] [ i2 ][ ik ]
Declaracin de array MD
De la misma forma que el array simple, el MD se puede declarar con alguna de las siguientes formas:
Declaracin de array MD
Usando operador new
new Tipo [ n1] [n2][nk]
Usando inicializador
Declaracin de array MD
double mat1[ ][ ] = new double[4][5]; Crea un array bidimensional de 4 filas x 5 columnas. Todos los 20 elementos son iniciados con 0.0
int mat2[ ] [ ] = {{1, 2, 3}, {4, 5, 6}}; Se crea un array de dos dimensiones 2 x 3. Los elementos son iniciados:
mat2[0][0]=1 mat2[0][1]=2 mat2[0][2]=3 mat2[1][0]= 4 mat2[1][1]= 5 mat2[1][2]= 6
Procesos en un array MD
Para procesar todos los elementos de un array bidimensional, se necesita un for embebido dentro de otro for, por ejemplo: Si int[ ][ ] A = new int[3][4];
El siguiente doble lazo, almacena 0 en cada posicin del array bidimensional A :
for (int fila = 0; fila < 3; fila++) { for (int columna = 0; columna < 4; columna++) { A [fila][columna] = 0; } }
Ing. Oscar ALberto Barnett Contreras
public class MaxMin { public static void main(String[] args) { double mat[ ] [ ]= { {2.3, 5.1, 9.9}, {8.3, 4.5, 7.7}, { 5.2, 6.1, 2.8}; }; int n = mat.length; Al ejecutar, se obtiene: int m = mat[0].length; double maxmin = 0.0; El valor max-min es 4.5 for (int j = 0; j < m; j++) { double min = mat[j][0]; for (int i = 1; i < n ; i ++) { min = Math.min(min, mat[i][j]); } if (j==0) { maxmin = min; }else { maxmin = Math.max(maxmin, min); } } System.out.println(El valor max-min es + maxmin); } }
Ing. Oscar ALberto Barnett Contreras