13
Curso 09/10. Práctica 3 1 Estructuras de Control (Parte I) Práctica 3

Estructuras de Control (Parte I)reinaqu/ip1/Pract03-I.pdf · Estructuras de Control (Parte I) Práctica 3. Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos Proyecto

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Estructuras de Control (Parte I)reinaqu/ip1/Pract03-I.pdf · Estructuras de Control (Parte I) Práctica 3. Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos Proyecto

Curso 09/10. Práctica 3 1

Estructuras de Control(Parte I)

Práctica 3

Page 2: Estructuras de Control (Parte I)reinaqu/ip1/Pract03-I.pdf · Estructuras de Control (Parte I) Práctica 3. Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos Proyecto

Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Proyecto Inicial. Contenido

Curso 09/10. Práctica 32

testpersonaracional

Page 3: Estructuras de Control (Parte I)reinaqu/ip1/Pract03-I.pdf · Estructuras de Control (Parte I) Práctica 3. Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos Proyecto

Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Jerarquía de clases relacionadas con las excepciones

33

J

Jerarquía de Excepciones.

Alguna de las más notables

de laAPI de Java

Se lanzan en tiempode ejecución y lascontrola la JVM y nose deben extender

Throwable

Exception

IOException

FileNotFoundException EOFException

RuntimeException

IndexOutOfBoundsException

NullPointerException ArithmeticException

Error

...

Nuestras Excepciones

Nuestras Excepciones

...CloneNotSupportedException

StringIndexOutOfBounsException ArrayIndexOutOfBoundsException

Object

REPASO

TEORÍA

Page 4: Estructuras de Control (Parte I)reinaqu/ip1/Pract03-I.pdf · Estructuras de Control (Parte I) Práctica 3. Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos Proyecto

Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Creación de clases de tipo

Exception

Curso 07/08. Práctica 1 4

public class ContenedorVacio extends Exception {public ContenedorVacio ( ) {

super();}public ContenedorVacio (String texto ) {

super (texto);}

}

Definición de la clase para crear objetos de tipo Exception

REPASO

TEORÍA

Page 5: Estructuras de Control (Parte I)reinaqu/ip1/Pract03-I.pdf · Estructuras de Control (Parte I) Práctica 3. Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos Proyecto

Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Lanzamiento de excepciones.

5

throw/throwsLa sentencia throw se usa con la llamada a un constructor de un objeto de la clase

exceptión o hija de ella y provoca el paso del control de ejecución a un bloque try

que tenga un cath asociado a un objeto de ese tipo o supertipo.

throw new ClaseException(“Texto explicativo”);

Sintaxis

throws se usa en las cabecera de los métodos que pudiendo generar una

excepción no tengan el try apropiado para tratarla. Indica que el control se pase al

método que lo llamo para realizar el tratamiento.

tipo metodo ( parametros) throws ClaseException { Sentencias

}

Sintaxis

REPASO

TEORÍA

Page 6: Estructuras de Control (Parte I)reinaqu/ip1/Pract03-I.pdf · Estructuras de Control (Parte I) Práctica 3. Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos Proyecto

Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Captura de Excepciones

6

try/cath/finallyEl bloque de sentencia dentro del try queda sujeto a control de excepciones si se

produjera alguna y su tipo o supertipo estuviese en algún catch se ejecutaría ese

código y el bloque finally y continuaríamos. Si no se encontrase pasaríamos el

control al método anterior hasta encontrarla o salir del programa.

try { Sentencias;

} catch (SubClaseDeException e1) {

Sentencias; }

catch (SubClaseDeException e2) { Sentencias;

} finally {

Sentencias; }

Sintaxis

REPASO

TEORÍA

Page 7: Estructuras de Control (Parte I)reinaqu/ip1/Pract03-I.pdf · Estructuras de Control (Parte I) Práctica 3. Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos Proyecto

Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Trabajo con Excepciones

7

racional

java.lang

Page 8: Estructuras de Control (Parte I)reinaqu/ip1/Pract03-I.pdf · Estructuras de Control (Parte I) Práctica 3. Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos Proyecto

Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Test de excepciones

8

test

Page 9: Estructuras de Control (Parte I)reinaqu/ip1/Pract03-I.pdf · Estructuras de Control (Parte I) Práctica 3. Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos Proyecto

Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Sentencias de control

Sentencia if-else◦ Evalúa la condición y según sea cierta o falsa ejecuta un

bloque de sentencias determinado.

◦ Un bloque está formado por un conjunto de sentencias entre llaves ({ })

9

if (condición) {sentencia-1;...sentencia-n;

}else {sentencia-n+1;... sentencia-m;

}

sentencia-1

sentencia-2

...

sentencia-n

sentencia-n+1

sentencia-n+2

...

sentencia-m

FalsoCierto condición

REPASO

TEORÍA

Page 10: Estructuras de Control (Parte I)reinaqu/ip1/Pract03-I.pdf · Estructuras de Control (Parte I) Práctica 3. Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos Proyecto

Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Sentencias de control

Sentencia while:

◦ Ejecuta el bloque de sentencias mientras la condición evalúa a cierta.

10

while (condición){sentencia-1; sentencia-2;

...sentencia-n;}

Falsa

Cierta

sentencia-1

sentencia-2...

sentencia-n

condición

REPASO

TEORÍA

Page 11: Estructuras de Control (Parte I)reinaqu/ip1/Pract03-I.pdf · Estructuras de Control (Parte I) Práctica 3. Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos Proyecto

Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Sentencias de control

Sentencia for-clásico:

◦ Se empieza ejecutando la inicialización (INI) y evaluando la condición (CON)

◦ Mientras la condición evalúe a ciertase ejecuta el bloque de sentenciasy la actualización (ACT).

11

for (INI; CON; ACT){

sentencia-1; sentencia-2;...sentencia-n;

}

Cierta

sentencia-1

sentencia-2...

sentencia-n

inicialización

condición

actualización

Falsa

REPASO

TEORÍA

Page 12: Estructuras de Control (Parte I)reinaqu/ip1/Pract03-I.pdf · Estructuras de Control (Parte I) Práctica 3. Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos Proyecto

Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Paquete utiles. Clase Naturales.

Curso 09/10. Práctica 312

utiles

Page 13: Estructuras de Control (Parte I)reinaqu/ip1/Pract03-I.pdf · Estructuras de Control (Parte I) Práctica 3. Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos Proyecto

Universidad de Sevilla. Dpto. Lenguajes y Sistemas Informáticos

Test de Naturales

Curso 09/10. Práctica 313

test