SlideShare a Scribd company logo
1 of 5
Download to read offline
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)   - Guía practica 2 de 7.


Esta guía práctica cubre la siguiente sección del examen:

Sección 2: Flujos, Excepciones y aserciones.

2.1. Desarrollar código que implemente una sentencia if o switch; e identificar tipos
de argumentos validos para estas sentencias.

2.2. Desarrollar código que implemente todas las formas de bucles, incluido el uso
de for, for mejorado(for-each), do, while, uso de etiquetas en bucles, break y
continue; explicar los valores que toman las variables contadoras de los bucles
durante y después de su ejecución.

2.3. Desarrollar código que haga uso de aserciones, distinguir el uso apropiado e
inapropiado de las aserciones.

2.4. Desarrollar código que haga uso de excepciones y manejo de estos (try, catch,
finally), declarar métodos y sobre escritura de métodos que lancen excepciones.

2.5. Reconocer el efecto de que se genere una excepción en un punto especificado
del código. Notar que la excepción puede ser una excepción en tiempo de
ejecución, una excepción checked o un error.

2.6. Reconocer situaciones que generen alguna de las siguientes excepciones:
ArrayIndexOutOfBoundsException, ClassCastException, IllegalArgumentException,
IllegalStateException, NullPointerException, NumberFormatException,
AssertionError, ExceptionInInitializerError, StackOverflowError o
NoClassDefFoundError. Entender de esa excepciones cuales son lanzadas por el
JVM, y reconocer situaciones en las cuales las otras son lanzadas por programacion.




Oscar Vásquez Flores (eoscarvf@gmail.com )
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)    - Guía practica 2 de 7.



2.1.   Desarrollar código que implemente una sentencia if o switch; e
       identificar tipos de argumentos validos para estas sentencias.

❑ La única expresión valida dentro de una sentencia if, es una expresión booleana,
es decir una expresión que retorne una un tipo boolean o Boolean.

❑ No confundir la asignación (=) con la prueba de la igualdad (==).
   Ejemplo:
   boolean x = false;
   if (x = true) { } // Es una asignación, entonces siempre va a retornar true.

❑ Las llaves son opcionales para un bloque if, si solo tiene una sentencia
condicional.

❑ La sentencia switch puede evaluar únicamente tipos de datos enum, byte,
short, int o char.
Esto es invalido.
long s = 30;
switch(s) { }

❑ El dato que esta en la sentencia case, debe ser un valor literal o una variable
final, o una expresión constante, incluido un enum. No se puede tener una case
con una variable no final o un rango de valores.

❑ En una sentencia switch cuando se entra a un case y este no tiene una
sentencia break, se entrara a todos los siguientes case, hasta encontrar un break,
a pesar de que el valor que representan los demás case no tenga un valor que
coincide con la buscado por el switch, es muy importe el uso del break para
terminar cada case, si así se desea, debido a que el uso de break es opcional.

❑ Se puede usar un bloque default para el caso en que ninguna sentencia case
cumpla la condición del switch.

❑ El bloque default se puede ubicar en cualquier parte en una sentencia switch, y
se ingresa a este si algún case previo fue activado, si el default no tiene un break
se ejecutará el siguiente case, hasta encontrar algún break.


2.2. Desarrollar código que implemente todas las formas de bucles,
incluido el uso de for, for mejorado(for-each), do, while, uso de etiquetas
en bucles, break y continue; explicar los valores que toman las variables
contadoras de los bucles durante y después de su ejecución.

❑ La forma basica del bucle for tiene tres partes: declaración y/o inicialización, evaluación
booleana y una expresión para iteración.

❑ Si una variable es incrementada o evaluada dentro del for, esta debe ser declarada
antes del for o dentro de la sección de declaración del for.

❑ Una variable que se declara dentro de un for no puede ser accedida fuera del for.

❑ Se puede inicializar mas de una variable del mismo tipo en la sección de declaraciones
del for, cada inicialización debe estar separada por una coma.




Oscar Vásquez Flores (eoscarvf@gmail.com )
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)      - Guía practica 2 de 7.


❑ Un for mejorado (Disponible desde JSE 6.0), tiene dos partes, una declaración (La
variable debe ser compatible con los elementos del array o colección) y una expresión
(array o colección). Se utiliza únicamente para navegar en los arrays y colecciones.

❑ Dentro del bloque del for mejorado la variable que utilizamos en la declaración inicial
contendrá o representara cada elemento del array.

❑ La sección de expresión booleana de los bucles en Java siempre debe retornar un dato
tipo boolean, de lo contrario se genera un error de compilación.

❑ En un bucle do se ingresa por lo menos una vez al cuerpo de este.

2.3. Desarrollar código que haga uso de aserciones, distinguir el uso
apropiado e inapropiado de las aserciones.
Esta parte se desarrolla en otros puntos.

2.4. Desarrollar código que haga uso de excepciones y manejo de
estos(try, catch, finally), declarar métodos y sobre escritura de métodos
que lancen excepciones.

❑ Las excepciones pueden ser de dos tipos: checked (manejadas) y unchecked (no
manejadas).

❑ Las excepciones checked incluyen todos los sub tipos de la clase Exception, pero sin
considerar a las que sean sub tipo de RuntimeException.

❑ Las excepciones checked son sujetas a ser manejadas o declaración de reglas,
cualquier metodo que pueda lanzar una excepción checked (incluyendo métodos que
invocan a otros métodos que puedan lanzar una excepción checked) deberá declara una
excepción usando la clausula throws, o manejar la excepción con un apropiado try/catch.

❑ Los sub tipos de Error o RuntimeException son unckecked, entonces el compilador
no obliga a manejarlas o declarar reglas. Se tiene la libertad de manejarlas si se desea o
declararlas.

❑ Si se usa el bloque opcional finally, este siempre será invocado, sin importar que se
genere una excepción o no, y sin importar que la excepción sea atrapada.

❑ La única forma para que el bloque finally no sea invocado es cuando se tenga un
apagado de la JVM, por ejemplo cuando se invoca a System.exit() dentro del código antes
del bloque finally.

❑ Al invocar a finally no significa que este siempre se completara o ejecutara todo su
bloque, debido a que dentro de este bloque se puede generar una excepción o lanzar una
System.exit() el cual lo interrumpirá.

❑ Una excepción no controlada pasara de metodo a metodo (iniciando por el metodo que
genero la excepción) hasta que alguno de ellos tenga un try/catch que lo controle, de lo
contrario provocara que se termine el programa (Cancelación del JVM).

❑ Se pueden crear excepciones personalizadas extendiendo la clase Exception o algún
sub tipo de esta. Según eso la excepción se considera checked, entonces el compilador
forzara a manejarla o declararla.




Oscar Vásquez Flores (eoscarvf@gmail.com )
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)   - Guía practica 2 de 7.


❑ Todos los bloques catch deben ser ordenados del más especificos al más general.
Por ejemplo si se tiene una clausula catch con IOException y otro con Exception, se
deberá colocar primero IOException. De otro forma la excepción tipo IOException será
atrapada por el bloque catch de Exception, el bloque catch atrapa cualquier excepción que
sea un sub tipo del argumento, luego de eso ya no se continua con el siguiente catch, el
compilar generara un error cuando se tenga clausulas que nunca serán alcanzadas.

2.5. Reconocer el efecto de que se genere una excepción en un punto
especificado del código. Notar que la excepción puede ser una excepción
en tiempo de ejecución, una excepción checked o un error.
Esta parte se desarrolla en otros puntos.

2.6. Reconocer situaciones que generen alguna de las siguientes
excepciones: ArrayIndexOutOfBoundsException, ClassCastException,
IllegalArgumentException, IllegalStateException, NullPointerException,
NumberFormatException, AssertionError, ExceptionInInitializerError,
StackOverflowError o NoClassDefFoundError. Entender de esa excepciones
cuales son lanzadas por el JVM, y reconocer situaciones en las cuales las
otras son lanzadas por programacion.

❑ Algunas excepciones son creadas por los programadores otras son creadas por la
JVM.

❑ Las siguientes son ejemplos de excepciones unchecked.


* Sub clases de java.lang.RuntimeException.
Estas excepciones pueden ser lanzadas en programación.

ArrayIndexOutOfBoundsException, indica que un array a sido accedido con un
índice ilegal. El índice es negativo, mayor o igual que el tamaño del array. Es una
sub clase de IndexOutOfBoundsException.

ClassCastException, indica que el código intenta hacer un cast de un objeto hacia
una sub clase de la cual no es instancia, ejemplo el siguiente código genera esa
excepción.
Object x= new Integer(0);
System.out.println((String)x);

IllegalArgumentException, indica que al metodo a sido pasado un argumento
ilegal o inapropiado.

IllegalStateException, Es una señal que un metodo a sido invocado en un tiempo
inapropiado. En otras palabras, el entorno Java o aplicación Java no esta en un
apropiado estado para la operación solicitada.

NullPointerException, Ocurre cuando una aplicación intenta usar un null cuando
un objeto es requerido.




Oscar Vásquez Flores (eoscarvf@gmail.com )
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)   - Guía practica 2 de 7.



NumberFormatException, Indica que una aplicación a intentado convertir una
cadena a un tipo numérico, pero la cadena no tiene un formato apropiado. Es una
sub clase de IllegalArgumentException.

* Sub clases de java.lang.Error.
Estas excepciones son lanzadas usualmente solo por el JVM.

AssertionError, Indica que el assertion a fallado.

ExceptionInInitializerError, Indica que una excepción inesperada a ocurrido
durante una inicialización estática. Es una sub clase de LinkageError.

StackOverflowError, Ocurre cuando existe un desbordamiento de pila, en
aplicaciones recursivas por entrar muy profundo, es una sub clase de
VirtualMachineError.

NoClassDefFoundError, Se genera cuando el JVM o el cargador de clases intenta
cargar una definición de clase pero no se encuentra la definición de esta. Es una
sub clase de LinkageError.




Oscar Vásquez Flores (eoscarvf@gmail.com )

More Related Content

What's hot (20)

Programación III (Java) - 04 Excepciones
Programación III (Java) - 04 ExcepcionesProgramación III (Java) - 04 Excepciones
Programación III (Java) - 04 Excepciones
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Java exceptions
Java exceptionsJava exceptions
Java exceptions
 
excepciones_java en www.fiec.espol.edu.ec
excepciones_java  en www.fiec.espol.edu.ecexcepciones_java  en www.fiec.espol.edu.ec
excepciones_java en www.fiec.espol.edu.ec
 
Resumen
ResumenResumen
Resumen
 
Gestión de errores en Java
Gestión de errores en JavaGestión de errores en Java
Gestión de errores en Java
 
Tema 4 excepciones por gio
Tema 4   excepciones por gioTema 4   excepciones por gio
Tema 4 excepciones por gio
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Gestión de Excepciones
Gestión de ExcepcionesGestión de Excepciones
Gestión de Excepciones
 
Exceptions (2)
Exceptions (2)Exceptions (2)
Exceptions (2)
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Lab excepciones
Lab excepcionesLab excepciones
Lab excepciones
 
Infografia Excepciones y aserciones
Infografia Excepciones y asercionesInfografia Excepciones y aserciones
Infografia Excepciones y aserciones
 
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Constructores & excepciones
Constructores & excepcionesConstructores & excepciones
Constructores & excepciones
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
unidad 5 excepciones propias
unidad 5 excepciones propiasunidad 5 excepciones propias
unidad 5 excepciones propias
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepciones
 
Gestion de errores en java
Gestion de errores en javaGestion de errores en java
Gestion de errores en java
 

Viewers also liked

OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1Oscar V
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)Oscar V
 
WMB for z/OS - Configuracion del nodo CICSRequest en z/OS
WMB for z/OS - Configuracion del nodo CICSRequest en z/OSWMB for z/OS - Configuracion del nodo CICSRequest en z/OS
WMB for z/OS - Configuracion del nodo CICSRequest en z/OSOscar V
 
Proceso para el registro o compra de exámenes de certificación en java
Proceso para el registro o compra de exámenes de certificación en javaProceso para el registro o compra de exámenes de certificación en java
Proceso para el registro o compra de exámenes de certificación en javaOscar V
 
Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1
Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1
Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1Oscar V
 
Ocp, jse 6 programmer (1 z0 851) - guia practica 7 de 7(fundamentos) v1
Ocp, jse 6 programmer (1 z0 851) - guia practica 7 de 7(fundamentos) v1Ocp, jse 6 programmer (1 z0 851) - guia practica 7 de 7(fundamentos) v1
Ocp, jse 6 programmer (1 z0 851) - guia practica 7 de 7(fundamentos) v1Oscar V
 
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)Oscar V
 
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)Oscar V
 
Administracion de WebSphere MQ for zOS v7.0
Administracion de WebSphere MQ for zOS v7.0Administracion de WebSphere MQ for zOS v7.0
Administracion de WebSphere MQ for zOS v7.0Oscar V
 
Guia de estudio OCP Java SE 7 Programmer
Guia de estudio OCP Java SE 7 ProgrammerGuia de estudio OCP Java SE 7 Programmer
Guia de estudio OCP Java SE 7 ProgrammerOscar V
 
Oracle Certified Expert, Java EE 6 Web Service Developer
Oracle Certified Expert, Java EE 6 Web Service DeveloperOracle Certified Expert, Java EE 6 Web Service Developer
Oracle Certified Expert, Java EE 6 Web Service DeveloperOscar V
 
Guia de estudio OCA Java SE 7 Programmer
Guia de estudio OCA Java SE 7 ProgrammerGuia de estudio OCA Java SE 7 Programmer
Guia de estudio OCA Java SE 7 ProgrammerOscar V
 
Curso de JBPM5 - Laboratorios
Curso de JBPM5 - LaboratoriosCurso de JBPM5 - Laboratorios
Curso de JBPM5 - LaboratoriosOscar V
 
Preparacion Ambiente Wmb6.X
Preparacion Ambiente Wmb6.XPreparacion Ambiente Wmb6.X
Preparacion Ambiente Wmb6.XOscar V
 
Curso de JBPM5
Curso de JBPM5Curso de JBPM5
Curso de JBPM5Oscar V
 
Guia de estudio para Oracle Certified Java EE 6 Web Component Developer
Guia de estudio para Oracle Certified Java EE 6 Web Component DeveloperGuia de estudio para Oracle Certified Java EE 6 Web Component Developer
Guia de estudio para Oracle Certified Java EE 6 Web Component DeveloperOscar V
 

Viewers also liked (16)

OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
 
WMB for z/OS - Configuracion del nodo CICSRequest en z/OS
WMB for z/OS - Configuracion del nodo CICSRequest en z/OSWMB for z/OS - Configuracion del nodo CICSRequest en z/OS
WMB for z/OS - Configuracion del nodo CICSRequest en z/OS
 
Proceso para el registro o compra de exámenes de certificación en java
Proceso para el registro o compra de exámenes de certificación en javaProceso para el registro o compra de exámenes de certificación en java
Proceso para el registro o compra de exámenes de certificación en java
 
Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1
Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1
Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1
 
Ocp, jse 6 programmer (1 z0 851) - guia practica 7 de 7(fundamentos) v1
Ocp, jse 6 programmer (1 z0 851) - guia practica 7 de 7(fundamentos) v1Ocp, jse 6 programmer (1 z0 851) - guia practica 7 de 7(fundamentos) v1
Ocp, jse 6 programmer (1 z0 851) - guia practica 7 de 7(fundamentos) v1
 
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
 
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)
 
Administracion de WebSphere MQ for zOS v7.0
Administracion de WebSphere MQ for zOS v7.0Administracion de WebSphere MQ for zOS v7.0
Administracion de WebSphere MQ for zOS v7.0
 
Guia de estudio OCP Java SE 7 Programmer
Guia de estudio OCP Java SE 7 ProgrammerGuia de estudio OCP Java SE 7 Programmer
Guia de estudio OCP Java SE 7 Programmer
 
Oracle Certified Expert, Java EE 6 Web Service Developer
Oracle Certified Expert, Java EE 6 Web Service DeveloperOracle Certified Expert, Java EE 6 Web Service Developer
Oracle Certified Expert, Java EE 6 Web Service Developer
 
Guia de estudio OCA Java SE 7 Programmer
Guia de estudio OCA Java SE 7 ProgrammerGuia de estudio OCA Java SE 7 Programmer
Guia de estudio OCA Java SE 7 Programmer
 
Curso de JBPM5 - Laboratorios
Curso de JBPM5 - LaboratoriosCurso de JBPM5 - Laboratorios
Curso de JBPM5 - Laboratorios
 
Preparacion Ambiente Wmb6.X
Preparacion Ambiente Wmb6.XPreparacion Ambiente Wmb6.X
Preparacion Ambiente Wmb6.X
 
Curso de JBPM5
Curso de JBPM5Curso de JBPM5
Curso de JBPM5
 
Guia de estudio para Oracle Certified Java EE 6 Web Component Developer
Guia de estudio para Oracle Certified Java EE 6 Web Component DeveloperGuia de estudio para Oracle Certified Java EE 6 Web Component Developer
Guia de estudio para Oracle Certified Java EE 6 Web Component Developer
 

Similar to OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y Afirmaciones)

Clase n°2 3-4 java
Clase n°2 3-4 javaClase n°2 3-4 java
Clase n°2 3-4 javajbersosa
 
Certificación java 6 cap 5
Certificación java 6 cap 5Certificación java 6 cap 5
Certificación java 6 cap 5srBichoRaro
 
DAW-Estructuras de control
DAW-Estructuras de controlDAW-Estructuras de control
DAW-Estructuras de controlvay82
 
Programación java1
Programación java1Programación java1
Programación java1jbersosa
 
Guia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesGuia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesjbersosa
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Javaquesada_diego
 
Scjp Jug Section 2 Flow Control
Scjp Jug Section 2 Flow ControlScjp Jug Section 2 Flow Control
Scjp Jug Section 2 Flow ControlJose Selman
 
3...3 manejo de excepciones y la clase string
3...3 manejo de excepciones y la clase string3...3 manejo de excepciones y la clase string
3...3 manejo de excepciones y la clase stringJacqui Venegas
 
3...3 manejo de excepciones y la clase string
3...3 manejo de excepciones y la clase string3...3 manejo de excepciones y la clase string
3...3 manejo de excepciones y la clase stringJacqui Venegas
 
Jyoc java-cap12 excepciones
Jyoc java-cap12 excepcionesJyoc java-cap12 excepciones
Jyoc java-cap12 excepcionesJyoc X
 
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Cu00927 c gestion excepciones java try catch finally ejemplos ejerciciosCu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Cu00927 c gestion excepciones java try catch finally ejemplos ejerciciosUniminuto - San Francisco
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVAinnovalabcun
 
3 java sesin 3 pps
3 java sesin 3 pps3 java sesin 3 pps
3 java sesin 3 ppsajplbe
 
Manejo de excepciones en vb
Manejo de excepciones en vbManejo de excepciones en vb
Manejo de excepciones en vbgerardd98
 

Similar to OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y Afirmaciones) (20)

Clase n°2 3-4 java
Clase n°2 3-4 javaClase n°2 3-4 java
Clase n°2 3-4 java
 
Certificación java 6 cap 5
Certificación java 6 cap 5Certificación java 6 cap 5
Certificación java 6 cap 5
 
DAW-Estructuras de control
DAW-Estructuras de controlDAW-Estructuras de control
DAW-Estructuras de control
 
Arreglos Expresiones y Control de Flujo
Arreglos Expresiones y Control de FlujoArreglos Expresiones y Control de Flujo
Arreglos Expresiones y Control de Flujo
 
Lab excepciones propias
Lab excepciones propiasLab excepciones propias
Lab excepciones propias
 
Programación java1
Programación java1Programación java1
Programación java1
 
Guia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesGuia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesaserciones
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 
Scjp Jug Section 2 Flow Control
Scjp Jug Section 2 Flow ControlScjp Jug Section 2 Flow Control
Scjp Jug Section 2 Flow Control
 
3...3 manejo de excepciones y la clase string
3...3 manejo de excepciones y la clase string3...3 manejo de excepciones y la clase string
3...3 manejo de excepciones y la clase string
 
3...3 manejo de excepciones y la clase string
3...3 manejo de excepciones y la clase string3...3 manejo de excepciones y la clase string
3...3 manejo de excepciones y la clase string
 
Resumen claudia u5
Resumen claudia u5Resumen claudia u5
Resumen claudia u5
 
Jyoc java-cap12 excepciones
Jyoc java-cap12 excepcionesJyoc java-cap12 excepciones
Jyoc java-cap12 excepciones
 
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Cu00927 c gestion excepciones java try catch finally ejemplos ejerciciosCu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
 
ESTRUCTURA DE CONTROL
ESTRUCTURA DE CONTROLESTRUCTURA DE CONTROL
ESTRUCTURA DE CONTROL
 
Las estructuras de control
Las estructuras de controlLas estructuras de control
Las estructuras de control
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVA
 
3 java sesin 3 pps
3 java sesin 3 pps3 java sesin 3 pps
3 java sesin 3 pps
 
Manejo de excepciones en vb
Manejo de excepciones en vbManejo de excepciones en vb
Manejo de excepciones en vb
 
Introducción
IntroducciónIntroducción
Introducción
 

OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y Afirmaciones)

  • 1. Oracle Certified Professional, Java SE 6 Programmer (1Z0-851) - Guía practica 2 de 7. Esta guía práctica cubre la siguiente sección del examen: Sección 2: Flujos, Excepciones y aserciones. 2.1. Desarrollar código que implemente una sentencia if o switch; e identificar tipos de argumentos validos para estas sentencias. 2.2. Desarrollar código que implemente todas las formas de bucles, incluido el uso de for, for mejorado(for-each), do, while, uso de etiquetas en bucles, break y continue; explicar los valores que toman las variables contadoras de los bucles durante y después de su ejecución. 2.3. Desarrollar código que haga uso de aserciones, distinguir el uso apropiado e inapropiado de las aserciones. 2.4. Desarrollar código que haga uso de excepciones y manejo de estos (try, catch, finally), declarar métodos y sobre escritura de métodos que lancen excepciones. 2.5. Reconocer el efecto de que se genere una excepción en un punto especificado del código. Notar que la excepción puede ser una excepción en tiempo de ejecución, una excepción checked o un error. 2.6. Reconocer situaciones que generen alguna de las siguientes excepciones: ArrayIndexOutOfBoundsException, ClassCastException, IllegalArgumentException, IllegalStateException, NullPointerException, NumberFormatException, AssertionError, ExceptionInInitializerError, StackOverflowError o NoClassDefFoundError. Entender de esa excepciones cuales son lanzadas por el JVM, y reconocer situaciones en las cuales las otras son lanzadas por programacion. Oscar Vásquez Flores (eoscarvf@gmail.com )
  • 2. Oracle Certified Professional, Java SE 6 Programmer (1Z0-851) - Guía practica 2 de 7. 2.1. Desarrollar código que implemente una sentencia if o switch; e identificar tipos de argumentos validos para estas sentencias. ❑ La única expresión valida dentro de una sentencia if, es una expresión booleana, es decir una expresión que retorne una un tipo boolean o Boolean. ❑ No confundir la asignación (=) con la prueba de la igualdad (==). Ejemplo: boolean x = false; if (x = true) { } // Es una asignación, entonces siempre va a retornar true. ❑ Las llaves son opcionales para un bloque if, si solo tiene una sentencia condicional. ❑ La sentencia switch puede evaluar únicamente tipos de datos enum, byte, short, int o char. Esto es invalido. long s = 30; switch(s) { } ❑ El dato que esta en la sentencia case, debe ser un valor literal o una variable final, o una expresión constante, incluido un enum. No se puede tener una case con una variable no final o un rango de valores. ❑ En una sentencia switch cuando se entra a un case y este no tiene una sentencia break, se entrara a todos los siguientes case, hasta encontrar un break, a pesar de que el valor que representan los demás case no tenga un valor que coincide con la buscado por el switch, es muy importe el uso del break para terminar cada case, si así se desea, debido a que el uso de break es opcional. ❑ Se puede usar un bloque default para el caso en que ninguna sentencia case cumpla la condición del switch. ❑ El bloque default se puede ubicar en cualquier parte en una sentencia switch, y se ingresa a este si algún case previo fue activado, si el default no tiene un break se ejecutará el siguiente case, hasta encontrar algún break. 2.2. Desarrollar código que implemente todas las formas de bucles, incluido el uso de for, for mejorado(for-each), do, while, uso de etiquetas en bucles, break y continue; explicar los valores que toman las variables contadoras de los bucles durante y después de su ejecución. ❑ La forma basica del bucle for tiene tres partes: declaración y/o inicialización, evaluación booleana y una expresión para iteración. ❑ Si una variable es incrementada o evaluada dentro del for, esta debe ser declarada antes del for o dentro de la sección de declaración del for. ❑ Una variable que se declara dentro de un for no puede ser accedida fuera del for. ❑ Se puede inicializar mas de una variable del mismo tipo en la sección de declaraciones del for, cada inicialización debe estar separada por una coma. Oscar Vásquez Flores (eoscarvf@gmail.com )
  • 3. Oracle Certified Professional, Java SE 6 Programmer (1Z0-851) - Guía practica 2 de 7. ❑ Un for mejorado (Disponible desde JSE 6.0), tiene dos partes, una declaración (La variable debe ser compatible con los elementos del array o colección) y una expresión (array o colección). Se utiliza únicamente para navegar en los arrays y colecciones. ❑ Dentro del bloque del for mejorado la variable que utilizamos en la declaración inicial contendrá o representara cada elemento del array. ❑ La sección de expresión booleana de los bucles en Java siempre debe retornar un dato tipo boolean, de lo contrario se genera un error de compilación. ❑ En un bucle do se ingresa por lo menos una vez al cuerpo de este. 2.3. Desarrollar código que haga uso de aserciones, distinguir el uso apropiado e inapropiado de las aserciones. Esta parte se desarrolla en otros puntos. 2.4. Desarrollar código que haga uso de excepciones y manejo de estos(try, catch, finally), declarar métodos y sobre escritura de métodos que lancen excepciones. ❑ Las excepciones pueden ser de dos tipos: checked (manejadas) y unchecked (no manejadas). ❑ Las excepciones checked incluyen todos los sub tipos de la clase Exception, pero sin considerar a las que sean sub tipo de RuntimeException. ❑ Las excepciones checked son sujetas a ser manejadas o declaración de reglas, cualquier metodo que pueda lanzar una excepción checked (incluyendo métodos que invocan a otros métodos que puedan lanzar una excepción checked) deberá declara una excepción usando la clausula throws, o manejar la excepción con un apropiado try/catch. ❑ Los sub tipos de Error o RuntimeException son unckecked, entonces el compilador no obliga a manejarlas o declarar reglas. Se tiene la libertad de manejarlas si se desea o declararlas. ❑ Si se usa el bloque opcional finally, este siempre será invocado, sin importar que se genere una excepción o no, y sin importar que la excepción sea atrapada. ❑ La única forma para que el bloque finally no sea invocado es cuando se tenga un apagado de la JVM, por ejemplo cuando se invoca a System.exit() dentro del código antes del bloque finally. ❑ Al invocar a finally no significa que este siempre se completara o ejecutara todo su bloque, debido a que dentro de este bloque se puede generar una excepción o lanzar una System.exit() el cual lo interrumpirá. ❑ Una excepción no controlada pasara de metodo a metodo (iniciando por el metodo que genero la excepción) hasta que alguno de ellos tenga un try/catch que lo controle, de lo contrario provocara que se termine el programa (Cancelación del JVM). ❑ Se pueden crear excepciones personalizadas extendiendo la clase Exception o algún sub tipo de esta. Según eso la excepción se considera checked, entonces el compilador forzara a manejarla o declararla. Oscar Vásquez Flores (eoscarvf@gmail.com )
  • 4. Oracle Certified Professional, Java SE 6 Programmer (1Z0-851) - Guía practica 2 de 7. ❑ Todos los bloques catch deben ser ordenados del más especificos al más general. Por ejemplo si se tiene una clausula catch con IOException y otro con Exception, se deberá colocar primero IOException. De otro forma la excepción tipo IOException será atrapada por el bloque catch de Exception, el bloque catch atrapa cualquier excepción que sea un sub tipo del argumento, luego de eso ya no se continua con el siguiente catch, el compilar generara un error cuando se tenga clausulas que nunca serán alcanzadas. 2.5. Reconocer el efecto de que se genere una excepción en un punto especificado del código. Notar que la excepción puede ser una excepción en tiempo de ejecución, una excepción checked o un error. Esta parte se desarrolla en otros puntos. 2.6. Reconocer situaciones que generen alguna de las siguientes excepciones: ArrayIndexOutOfBoundsException, ClassCastException, IllegalArgumentException, IllegalStateException, NullPointerException, NumberFormatException, AssertionError, ExceptionInInitializerError, StackOverflowError o NoClassDefFoundError. Entender de esa excepciones cuales son lanzadas por el JVM, y reconocer situaciones en las cuales las otras son lanzadas por programacion. ❑ Algunas excepciones son creadas por los programadores otras son creadas por la JVM. ❑ Las siguientes son ejemplos de excepciones unchecked. * Sub clases de java.lang.RuntimeException. Estas excepciones pueden ser lanzadas en programación. ArrayIndexOutOfBoundsException, indica que un array a sido accedido con un índice ilegal. El índice es negativo, mayor o igual que el tamaño del array. Es una sub clase de IndexOutOfBoundsException. ClassCastException, indica que el código intenta hacer un cast de un objeto hacia una sub clase de la cual no es instancia, ejemplo el siguiente código genera esa excepción. Object x= new Integer(0); System.out.println((String)x); IllegalArgumentException, indica que al metodo a sido pasado un argumento ilegal o inapropiado. IllegalStateException, Es una señal que un metodo a sido invocado en un tiempo inapropiado. En otras palabras, el entorno Java o aplicación Java no esta en un apropiado estado para la operación solicitada. NullPointerException, Ocurre cuando una aplicación intenta usar un null cuando un objeto es requerido. Oscar Vásquez Flores (eoscarvf@gmail.com )
  • 5. Oracle Certified Professional, Java SE 6 Programmer (1Z0-851) - Guía practica 2 de 7. NumberFormatException, Indica que una aplicación a intentado convertir una cadena a un tipo numérico, pero la cadena no tiene un formato apropiado. Es una sub clase de IllegalArgumentException. * Sub clases de java.lang.Error. Estas excepciones son lanzadas usualmente solo por el JVM. AssertionError, Indica que el assertion a fallado. ExceptionInInitializerError, Indica que una excepción inesperada a ocurrido durante una inicialización estática. Es una sub clase de LinkageError. StackOverflowError, Ocurre cuando existe un desbordamiento de pila, en aplicaciones recursivas por entrar muy profundo, es una sub clase de VirtualMachineError. NoClassDefFoundError, Se genera cuando el JVM o el cargador de clases intenta cargar una definición de clase pero no se encuentra la definición de esta. Es una sub clase de LinkageError. Oscar Vásquez Flores (eoscarvf@gmail.com )