Академический Документы
Профессиональный Документы
Культура Документы
Clase 7
Caractersticas de arreglo
Proveer una forma de manipular varios items del mismo tipo Son creados en el heap y referenciados por una variable de referencia Almacenan variables de datos primitivas, o int[] arregloDeEnteros = new int[5]; variables que referencian a otros objetos Cuenta[] arregloDeCuentas = new Cuenta[5];
Elemento de un arreglo
Cada tem de un arreglo es denominado elemento Para acceder a los elementos de un arreglo se utilizan valores enteros ( int,byte,short, o resultado de una expresin) denominado indice. Arreglo de 8 elementos e1 e2 e3 e4 e5 e6 e7 e8 length= 8 0 1 2 3 4 5 6 7 ndice ndice mximo y mnimo
El primer elemento de un arreglo es indexado con el valor 0. El ltimo elemento de un arreglo es indexado con un valor que es uno menos que la longitud del arreglo
Procesamiento de un arreglo
Frecuentemente, elementos de un arreglo son procesados utilizando estructuras de iteracin Durante el procesamiento de un arreglo no se puede acceder un valor de ndice mayor a la longitud del arreglo o menor a cero. Errores.: IndexOutOfBoundsException o NegativeArraySizeException;
Inicializacin de un arreglo
Pueden ser inicializados utilizando el operador new o a travs de la asignacin directa de datos Asignacin directa char[] respuestas = {S.N,I}; Uso del operador new: Cuenta[] arrCuentas = new Cuenta[2]; arrCuentas[0] = new Cuenta(Ahorros); arrCuentas[0] = new Cuenta(Crditos);
Arreglos de objetos
Un arreglo de objetos es un conjunto de referencias a un nmero de objetos del mismo tipo. Requieren la utilizacin del operador new para inicializar cada elemento del arreglo utilizando el constructor del objeto. Elementos de arreglos que referencian objetos se asignan a su valor por default ( null). Si se intenta acceder a un elementos antes que que el objeto apuntado sea inicializado, se producir el error NullPointerException
public Cliente[] getClientes(){ return cli; // cli es una referencia a un arreglo de clientes } public void setClientes(Cliente [] clientes){ this.clientes = clientes; // cli es una referencia a un arreglo de clientes }
Arreglos Multidimensionales
Arreglos de Arreglos.
Ej.: int arreglos3D[][][] = new int[5][4][3]; int arreglos2D[][] = {{1,2,3},{4,5}};
Arreglos Multidimensionales
Completando un arreglo multidimensional.
Ej.: int a[] [] = new int [3][4] for(int x = 0; x< a.length; x++) { for(int y = 0; y < a[x].length; y++) { a[x][y] = Console.readInt(Ingrese el elemento + x + - + y); } }
Exception
Qu pasa si no se puede agregar una nueva cuenta? Qu pasa si no se puede hacer una extraccin, por que no hay saldo suficiente. Qu pasa si no se encuentra una cuenta o cliente que es buscado.
Excepciones
Una excepcin es una representacin de una condicin de error o cualquier situacin no esperada en el resultado de un mtodo Son instancias de subclases de la clase Throwable
Java incluye un conjunto de excepciones estndares que pueden ser disparadas automticamente
Objetos Excepciones
Jerarqua de clases
Cada objeto de estas clases poseen atributos privados que mantienen informacin de la excepcin o error generado. Mtodos: getMessage(), printStactTrace() ..
Capturando Excepciones
Identificar en un mtodo toda la excepcin que no sea de la clase o subclase de Error o RunTimeException Si un programador desea manipular un excepcin en un mtodo:
ubicar el cdigo que puede potencialmente generar la excepcin en un bloque try - catch
Un mtodo puede poseer varios bloques try, y varios bloques catch por cada bloque try
Capturando Excepciones
El bloque catch captura la excepcin y posee el cdigo para tratarla
try { // cdigo que puede lanzar la excepcin } catch (IOException ioe) { // cdigo para manipular excepciones de entrada salida } catch (Exception e) { // cdigo para manipular otras excepciones }
Lanzando Excepciones
Existen al menos tres formas de lanzar una excepcin: A travs de un mtodo el cual es declarado como potencial disparador de un tipo de excepcin tambin puede relanzarla
Pila de Llamadas
Lanzando Excepciones
Si el programador no desea manipular una excepcin, sino pasarla hacia arriba en la pila de llamadas: se debe declarar en la signatura del mtodo utilizando la clusula:
throws <tipo de sub-class Throwable>
10
Bloque finally
Un bloque finally siempre ser ejecutado Puede ser utilizado para contener cdigo que debe ser ejecutado despus de un bloque try, o antes debido a la ocurrencia de una excepcin.
Ej.: try{ cli.manipularcliente(); } catch(MiExcepcion me) { system.out.println(me.getMessage()); } finally { // este cdigo se ejecuta ocurra o no ocurra la excepcin }
11
No es posible capturar una excepcin que no sea de la misma clase o subclase de la excepcin disparada Pueden extenderse excepciones a partir de la clase Exception
12
No debe ubicarse cdigo entre el bloque try y el bloque catch, o entre los bloques catch. No es posible tener un bloque try sin un bloque catch
13
14
15