Você está na página 1de 17

Lenguaje de Programacin Java

(SL-275-SE6)
Mdulo 5
Arreglos

Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 1
Objetivos
Declarar y crear matrices de tipos primitivos o de
clases (objetos).
Explicar por qu los elementos de un array se
inicializan.
Explicar cmo se inicializan los elementos de una
matriz.
Determinar el nmero de elementos de una matriz.
Crear una matriz multidimensional.
Escribir cdigo para copiar valores matriciales entre
matrices otro.
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 2
Discusin
Cul es el propsito de un arreglo?
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 3
Declarando Arreglos
Grupo de datos objetos del mismo tipo.
Declarar matrices de tipos primitivos o clase:
char s[];
Point p[];
char[] s;
Point[] p;
Crear un espacio para una referencia.
Una matriz es un objeto, que se crea con el operador
new.
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 4
Creando Arreglos
Usar la palabra clave new para crear un objeto Arreglo.

Por ejemplo, un arreglo primitivo (char):

1 public char[] createArray() {
2 char[] s;
3
4 s = new char[26];
5 for ( int i=0; i<26; i++ ) {
6 s[i] = (char) (A + i);
7 }
8
9 return s;
10 }
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 5
Creando un arreglo primitivo de
carcteres
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 6
Creando una referencia de arreglo
Otro ejemplo, una matriz de objetos:

1 public Point[] createArray() {
2 Point[] p;
3
4 p = new Point[10];
5 for ( int i=0; i<10; i++ ) {
6 p[i] = new Point(i, i+1);
7 }
8
9 return p;
10 }
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 7
Creando un arreglo de objetos
Point
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 8
Prctica #9
Realizar un sistema de Control de Alquiler de Vehculos: El sistema debe tener un
men:
Ingreso de Vehculos + Placa del Vehculo + Nombre de la Persona que Alquila +
Km actual del vehculo (INTEGER)
Buscar +Los vehculos cuyo KM sea mayor a 20 y menor a 100
Listar +Todo los vehculos Ingresados

NOTA: Trabajar con un ingreso de 10 Vehculos, Los reportes de Buscar y Listar
deben ser en columnas, Ej:
Placa KM Persona
GHJ456 12 Julio Prez

Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 9
Inicializando Arreglos
Inicializar un elemento de la matriz.
Crear una matriz con los valores iniciales.
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 10
Las matrices multidimensionales
Las matrices de matrices:

int[][] twoDim = new int[4][];
twoDim[0] = new int[5];
twoDim[1] = new int[5];
int[][] twoDim = new int[][4]; // illegal
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 11
Las matrices multidimensionales
No rectangulares matrices de matrices:
twoDim[0] = new int[2];
twoDim[1] = new int[4];
twoDim[2] = new int[6];
twoDim[3] = new int[8];

Matriz de cuatro conjuntos de cinco enteros cada una:
int[][] twoDim = new int[4][5];
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 12

Lmites de la matriz (arreglo)
Todos los subndices de matriz comienzan en 0:

public void printElements(int[] list) {
for (int i = 0; i < list.length; i++) {
System.out.println(list[i]);
}
}

Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 13
Utilizando el bucle for mejorado
Java 2 Platform, Standard Edition (J2SE ) versin 5.0
introduce un bucle for mejorado para iterar sobre
matrices:
public void printElements(int[] list) {
for ( int element : list ) {
System.out.println(element);
}
}

El bucle puede leer cada elemento de la lista.

Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 14
Cambiando el Tamao del Arreglo
No se puede cambiar el tamao de un arreglo.

Puede utilizar la variable de la misma referencia para
referirse a un totalmente nuevo arreglo, tal como:

int[] myArray = new int[6];
myArray = new int[10];

Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 15
Copiando Arreglos
El mtodo System.arraycopy() para copiar arreglos
funciona de la siguiente manera:

1 //original array
2 int[] myArray = { 1, 2, 3, 4, 5, 6 };
3
4 // new larger array
5 int[] hold = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
6
7 // copy all of the myArray array to the hold
8 // array, starting with the 0th index
9 System.arraycopy(myArray, 0, hold, 0, myArray.length);
Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 16
Prctica #10
Se trata simular un sistema de banco con sus respectivos clientes
(cuentahabientes) y cuentas, donde los Clientes tendrn los siguientes atributos:
nombre(s), apellidos y un atributo objeto cuenta, y sus operaciones de setter y
getter.

La clase Cuenta como atributo su saldo, y las acciones: depositar, retirar , asignar y
consultar saldo.

La clase Banco contendr como atributos el nmero de clientes, un arreglo de
objetos Cuenta, y acciones: agregar cliente, tomar cliente, tomar nmero de
cliente.





Academia de Java Cecyteg
Ocampo ISC. Hctor Gabriel Prez Martnez 17

Você também pode gostar