Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)   - Guía practica 2 de 7.Esta guía práctica cubre la siguien...
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)    - Guía practica 2 de 7.2.1.   Desarrollar código que impl...
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)      - Guía practica 2 de 7.❑ Un for mejorado (Disponible de...
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)   - Guía practica 2 de 7.❑ Todos los bloques catch deben ser...
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)   - Guía practica 2 de 7.NumberFormatException, Indica que u...
Próxima SlideShare
Cargando en…5
×

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

829 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
829
En SlideShare
0
De insertados
0
Número de insertados
6
Acciones
Compartido
0
Descargas
54
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

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

  1. 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 tiposde argumentos validos para estas sentencias.2.2. Desarrollar código que implemente todas las formas de bucles, incluido el usode for, for mejorado(for-each), do, while, uso de etiquetas en bucles, break ycontinue; explicar los valores que toman las variables contadoras de los buclesdurante y después de su ejecución.2.3. Desarrollar código que haga uso de aserciones, distinguir el uso apropiado einapropiado 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 especificadodel código. Notar que la excepción puede ser una excepción en tiempo deejecució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 oNoClassDefFoundError. Entender de esa excepciones cuales son lanzadas por elJVM, y reconocer situaciones en las cuales las otras son lanzadas por programacion.Oscar Vásquez Flores (eoscarvf@gmail.com )
  2. 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 sentenciacondicional.❑ 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 variablefinal, o una expresión constante, incluido un enum. No se puede tener una casecon una variable no final o un rango de valores.❑ En una sentencia switch cuando se entra a un case y este no tiene unasentencia 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 quecoincide con la buscado por el switch, es muy importe el uso del break paraterminar 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 casecumpla la condición del switch.❑ El bloque default se puede ubicar en cualquier parte en una sentencia switch, yse ingresa a este si algún case previo fue activado, si el default no tiene un breakse 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 etiquetasen bucles, break y continue; explicar los valores que toman las variablescontadoras 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ónbooleana y una expresión para iteración.❑ Si una variable es incrementada o evaluada dentro del for, esta debe ser declaradaantes 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 declaracionesdel for, cada inicialización debe estar separada por una coma.Oscar Vásquez Flores (eoscarvf@gmail.com )
  3. 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 (Lavariable 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 inicialcontendrá o representara cada elemento del array.❑ La sección de expresión booleana de los bucles en Java siempre debe retornar un datotipo 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 usoapropiado e inapropiado de las aserciones.Esta parte se desarrolla en otros puntos.2.4. Desarrollar código que haga uso de excepciones y manejo deestos(try, catch, finally), declarar métodos y sobre escritura de métodosque lancen excepciones.❑ Las excepciones pueden ser de dos tipos: checked (manejadas) y unchecked (nomanejadas).❑ Las excepciones checked incluyen todos los sub tipos de la clase Exception, pero sinconsiderar 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 queinvocan a otros métodos que puedan lanzar una excepción checked) deberá declara unaexcepció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 compiladorno obliga a manejarlas o declarar reglas. Se tiene la libertad de manejarlas si se desea odeclararlas.❑ Si se usa el bloque opcional finally, este siempre será invocado, sin importar que segenere 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 unapagado de la JVM, por ejemplo cuando se invoca a System.exit() dentro del código antesdel bloque finally.❑ Al invocar a finally no significa que este siempre se completara o ejecutara todo subloque, debido a que dentro de este bloque se puede generar una excepción o lanzar unaSystem.exit() el cual lo interrumpirá.❑ Una excepción no controlada pasara de metodo a metodo (iniciando por el metodo quegenero la excepción) hasta que alguno de ellos tenga un try/catch que lo controle, de locontrario provocara que se termine el programa (Cancelación del JVM).❑ Se pueden crear excepciones personalizadas extendiendo la clase Exception o algúnsub tipo de esta. Según eso la excepción se considera checked, entonces el compiladorforzara a manejarla o declararla.Oscar Vásquez Flores (eoscarvf@gmail.com )
  4. 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, sedeberá 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 quesea un sub tipo del argumento, luego de eso ya no se continua con el siguiente catch, elcompilar 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 puntoespecificado del código. Notar que la excepción puede ser una excepciónen 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 siguientesexcepciones: ArrayIndexOutOfBoundsException, ClassCastException,IllegalArgumentException, IllegalStateException, NullPointerException,NumberFormatException, AssertionError, ExceptionInInitializerError,StackOverflowError o NoClassDefFoundError. Entender de esa excepcionescuales son lanzadas por el JVM, y reconocer situaciones en las cuales lasotras son lanzadas por programacion.❑ Algunas excepciones son creadas por los programadores otras son creadas por laJVM.❑ 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 unasub clase de IndexOutOfBoundsException.ClassCastException, indica que el código intenta hacer un cast de un objeto haciauna sub clase de la cual no es instancia, ejemplo el siguiente código genera esaexcepción.Object x= new Integer(0);System.out.println((String)x);IllegalArgumentException, indica que al metodo a sido pasado un argumentoilegal o inapropiado.IllegalStateException, Es una señal que un metodo a sido invocado en un tiempoinapropiado. En otras palabras, el entorno Java o aplicación Java no esta en unapropiado estado para la operación solicitada.NullPointerException, Ocurre cuando una aplicación intenta usar un null cuandoun objeto es requerido.Oscar Vásquez Flores (eoscarvf@gmail.com )
  5. 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 unacadena a un tipo numérico, pero la cadena no tiene un formato apropiado. Es unasub 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 ocurridodurante una inicialización estática. Es una sub clase de LinkageError.StackOverflowError, Ocurre cuando existe un desbordamiento de pila, enaplicaciones recursivas por entrar muy profundo, es una sub clase deVirtualMachineError.NoClassDefFoundError, Se genera cuando el JVM o el cargador de clases intentacargar una definición de clase pero no se encuentra la definición de esta. Es unasub clase de LinkageError.Oscar Vásquez Flores (eoscarvf@gmail.com )

×