Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com ) 1
G...
Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com ) 2
I...
Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com ) 3
I...
Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com ) 4
2...
Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com ) 5
❑...
Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com ) 6
3...
Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com ) 7
4...
Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com ) 8
❑...
Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com ) 9
5...
Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com ) 10
...
Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com ) 11
...
Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com ) 12
...
Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com ) 13
...
Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com ) 14
...
Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio
Oscar Vásquez Flores (eoscarvf@gmail.com ) 15
...
Próxima SlideShare
Cargando en…5
×

Guia de estudio OCA Java SE 7 Programmer

3.020 visualizaciones

Publicado el

Publicado en: Arte y fotografía
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
3.020
En SlideShare
0
De insertados
0
Número de insertados
45
Acciones
Compartido
0
Descargas
136
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Guia de estudio OCA Java SE 7 Programmer

  1. 1. Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio Oscar Vásquez Flores (eoscarvf@gmail.com ) 1 Guia de estudio para OCAJP7 “Oracle Certified Associate Java SE 7 Programmer” Fecha Cambios 2014-01-20 Primera publicación 2014-05-14 Cambios de formato del documento I. Información del examen Duración: 150 minutes Nro. de preguntas: 90 Score para pasar: 63% Código del examen: 1Z0-803 Nombre del examen: Java SE 7 Programmer I Costo: $ 150 Detalles completos del examen http://education.oracle.com/pls/web_prod-plq- dad/db_pages.getpage?page_id=5001&get_params=p_exam_id:1Z0-803
  2. 2. Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio Oscar Vásquez Flores (eoscarvf@gmail.com ) 2 II. Temas del examen 1. Java basico 2. Trabajando con tipos de datos Java 3. Uso de operadores y construcción de decisiones 4. Creación y uso de arrays 5. Construcción de bucles 6. Trabajando con métodos y encapsulamiento 7. Trabajando con herencia 8. Manejando excepciones
  3. 3. Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio Oscar Vásquez Flores (eoscarvf@gmail.com ) 3 III. Desarrollo de temas 1. Java basico 1.1. Definir el alcance de las variables No hay detalles en esta sección 1.2. Definir la estructura de una clase No hay detalles en esta sección 1.3. Crear aplicaciones Java ejecutables con el metodo main No hay detalles en esta sección 1.4. Importar paquetes Java para utilizar diversas clases No hay detalles en esta sección
  4. 4. Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio Oscar Vásquez Flores (eoscarvf@gmail.com ) 4 2. Trabajando con tipos de datos Java 2.1. Declarar e inicializar variables No hay detalles en esta sección 2.2. Diferencias entre variables que referencian a objetos y variables primitivas No hay detalles en esta sección 2.3. Leer y escribir campos de un objeto No hay detalles en esta sección 2.4. Explicar el ciclo de vida de un objeto No hay detalles en esta sección 2.5. Invocar métodos de un objeto No hay detalles en esta sección 2.6. Manipular datos usando la clase StringBuilder y sus métodos ❑ Los objetos String son inmutables (No se pueden modificar), pero las variables de referencia a un objeto String no lo son. ❑ Si se crea un String nuevo sin ser asignado a alguna variable, este se perderá del programa. ❑ Si se direcciona la referencia de un String a un nuevo String, el antiguo String puede ser perdido. ❑ Los métodos de la clase String basan sus índices iniciando en cero, excepto el segundo parámetro de substring(). ❑ La clase String es final, sus métodos no se puede sobre escribir. ❑ Cuando la JVM encuentra un String literal, este se agregar al pool de String literal. ❑ String tiene un metodo length(); y los arrays tienen un atributo length. ❑ El API StringBuffer es lo mismo que el nuevo API StringBuilder, excepto que los métodos de StringBuilder no son sincronizados para thread safety. ❑ Los métodos de StringBuilder deben correr mas rápidos que los métodos de StringBuffer. ❑ Todos los siguiente puntos aplican a StringBuffer y StringBuilder: ❑ Ambos son mutables, ellos pueden cambiar sin tener que crear un objeto nuevo.
  5. 5. Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio Oscar Vásquez Flores (eoscarvf@gmail.com ) 5 ❑ Los métodos de StringBuffer actúan directo sobre el objeto que los invoca, y pueden cambiar al objeto, sin necesidad de una asignación explicita en la sentencia. ❑ equals() de StringBuffer() no esta sobre escrito, este no compara valores. ❑ Se debe recordar que una cadena de métodos se evalúan de izquierda a derecha. ❑ Los siguiente métodos de String son los mas importantes: charAt(), concat(), equalsIgnoreCase(), length(), replace(), substring(), toLowerCase(), toString(), toUpperCase() y trim(). ❑ Los siguiente métodos de StringBuffer son los mas importantes: append(), delete(), insert(), reverse() y toString() 2.1. Crear y manipular cadenas No hay detalles en esta sección
  6. 6. Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio Oscar Vásquez Flores (eoscarvf@gmail.com ) 6 3. Uso de operadores y construcción de decisiones 3.1. Use Java operators No hay detalles en esta sección 3.2. Use parentheses to override operator precedence No hay detalles en esta sección 3.3. Test equality between strings and other objects using == and equals () No hay detalles en esta sección 3.4. Creación de if y if/else ❑ 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. 3.5. Use a switch statement ❑ 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.
  7. 7. Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio Oscar Vásquez Flores (eoscarvf@gmail.com ) 7 4. Creación y uso de arrays 4.1. Declarar, instanciar, inicializar y usar arrays de una dimensión ❑ Los arreglos pueden contener datos primitivos u objetos, pero los arreglos son siempre un objetos. ❑ Todos los siguientes ejemplos son validos para la declaración de un arreglo: String arreglo1[ ]; String [ ]arreglo2; String [ ] arreglo3; String [ ] arreglo3;
  8. 8. Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio Oscar Vásquez Flores (eoscarvf@gmail.com ) 8 ❑ No se debe incluir el tamaño del arreglo en la declaración. Esto no es valido: String arreglo1[5]; ❑ Un arreglo puede contener cualquier objeto que pase la prueba IS-A (o instanceof) según el tipo declarado en el arreglo. Ejemplo: Si Cliente extiende a Persona, entonces un objeto Cliente puede estar en un arreglo de Persona. 4.2. Declare, instantiate, initialize and use multi-dimensional array No hay detalles en esta sección 4.3. Declare and use an ArrayList No hay detalles en esta sección
  9. 9. Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio Oscar Vásquez Flores (eoscarvf@gmail.com ) 9 5. Construcción de bucles 5.1. Crear y usar el bucle while No hay detalles en esta sección 5.2. Create and use for loops including the enhanced for loop ❑ 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. ❑ 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. 5.3. Crear y usar el bucle do/while No hay detalles en esta sección 5.4. Comparar la construcción de bucles No hay detalles en esta sección 5.5. Uso de la sentencia break y continue No hay detalles en esta sección
  10. 10. Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio Oscar Vásquez Flores (eoscarvf@gmail.com ) 10 6. Trabajando con métodos y encapsulamiento 6.1. Crear métodos con argumentos y valor de retorno No hay detalles en esta sección 6.2. Aplicar la palabra reservada static a métodos y campos No hay detalles en esta sección 6.3. Crear un metodo sobrecargado No hay detalles en esta sección 6.4 Diferencia entre el constructor por defecto y los definidos por usuario No hay detalles en esta sección 6.5 Crear y sobrecargar constructores No hay detalles en esta sección 6.6. Aplicar modificadores de acceso No hay detalles en esta sección 6.7 Aplicar principios de encapsulamiento a una clase No hay detalles en esta sección 6.8 Determinar el efecto de pasar referencias de objetos y valores primitivos a métodos que realizan cambios sobre estos No hay detalles en esta sección
  11. 11. Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio Oscar Vásquez Flores (eoscarvf@gmail.com ) 11 7. Trabajando con herencia 7.1. Implementar herencia No hay detalles en esta sección 7.2. Desarrollar código que demuestra el uso de polimorfismo No hay detalles en esta sección 7.3. Diferencia entre el tipo de la referencia y el tipo del objeto No hay detalles en esta sección 7.4. Determinar cuando una conversión es necesaria No hay detalles en esta sección 7.5. Uso de super y this para acceder a constructores y objetos ❑ Un constructor siempre se invoca cuando un objeto nuevo es creado. ❑ Each superclass in an object's inheritance tree will have a constructor called. ❑ Cada clase, incluso una clase abstracta tiene por lo menos un constructor. ❑ El constructor tiene el mismo nombre que la clase. ❑ El constructor no tiene un tipo de retorno. Si puede ver un metodo con el mismo nombre que la clase, debe retornar algo o ser void. ❑ La ejecución típica de un constructor es la siguiente: ❑ El constructor invoca al constructor de la super clase, y esta al de su super clase, hasta llegar al constructor de la clase Object. ❑ Luego de ejecutar el constructor de la clase Object se retornar a la clase que invoca el constructor y asi sucesivamente hasta completar todos, luego de eso la instancia de la clase deseada es creada. ❑ El constructor puede usar cualquier modificador de acceso incluso private. ❑ El compilador crea un constructor por defecto si no se especifica ningún constructor en la clase. ❑ El constructor por defecto no tiene argumentos e invoca a super(). ❑ En caso de ser necesario la primera sentencia que cada constructor deberá invocar es ya sea a this()(Sobre carga de constructores) o super(); estas sentencias no puede estar después de otras sentencias. No puede invocar super() y this() a al vez.
  12. 12. Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio Oscar Vásquez Flores (eoscarvf@gmail.com ) 12 ❑ El compilador agregara un llamado a super(), al menos que se tenga una invocacion a this() o super(). ❑ Las clases abstractas tienen constructores que son invocados cuando una subclase concreta es invocada. ❑ Las interfaces no tienen constructores. ❑ Si la súper clase no tiene un constructor sin argumentos, en la sub clase se debe crear un constructor e insertar una invocación a super() con los argumentos que coincidan con los de la súper clase. ❑ Los constructores nunca se heredan, ellos no se pueden sobre escribir. ❑ Los constructores se pueden invocar de forma directo únicamente por otros constructores, usando la invocación super() o this(). ❑ Los constructores pueden invocar a constructores y estos a otros constructores, así sucesivamente, pero tarde o temprano alguno de estos invocara a super(). 7.6. Uso de clases abstractas e interfaces ❑ Las interfaces son contratos respecto a que debe hacer una clase, pero no especifica el como se debe realizar. ❑ Las interfaces pueden ser implementadas por cualquier clase de cualquier jerarquía. ❑ Una interface es similar a una clase 100% abstracta. La interface puede tener el modificador abstract, el cual es implícito. ❑ Una interface puede tener únicamente métodos abstractos, no esta permitido los métodos concretos. ❑ Por defecto los métodos de una interface son public y abstract, la declaración explicita de estos modificadores es opcional. ❑ Las interfaces pueden tener constantes las cuales son siempre implícitamente public, static y final, la declaración de cualquiera de estos modificadores es opcional, no es valido cualquier otro modificador. ❑ Una clase no abstracta de implementación debe seguir las siguientes reglas: ❑ Debe proveer implementación para todos los métodos de la interface. ❑ Deberá seguir todas las reglas de sobre escritura para los métodos que implementa. ❑ No deberá declarar ninguna nueva excepción chequeada para el método que implementa.
  13. 13. Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio Oscar Vásquez Flores (eoscarvf@gmail.com ) 13 ❑ No deberá declarar ninguna excepción chequeada que se más amplia (superclase) que la excepción declarada en el método de la interface. ❑ Se puede declara cualquier excepción de tipo runtime (RuntimeException) en la implementación de cualquier método de interface sin importar la declaración en la interface. ❑ Se debe mantener la firma exacta del método (es permitido retornos covariant) y el tipo de retorno del método que se implementa, no es necesario que se declare las excepciones del método que esta en la interface. ❑ Una clase que implementa una interface puede ser abstract. ❑ Una clase abstract que implementa una interface no es obligatorio que implemente todos los métodos de la interface, pero la primera clase concreta que la extienda si debe hacerlo. ❑ Una clase solo puede extender una clase (No es valida la herencia múltiple), pero puede implementar varias interfaces a la vez. ❑ Las interfaces pueden extender una o varios interfaces a la vez. ❑ Las interfaces no pueden extender una clase o implementar una interface.
  14. 14. Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio Oscar Vásquez Flores (eoscarvf@gmail.com ) 14 8. Manejando excepciones 8.1. Diferenciar entre checked exceptions, runtime excepcion y errors ❑ 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. ❑ 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. 8.2. Crear bloques try-catch y determinar como las excepciones alteran el flujo normal de un programa No hay detalles en esta sección 8.3. Describir que excepciones son usadas en Java No hay detalles en esta sección 8.4. Invocar a un metodo que lance una excepción No hay detalles en esta sección
  15. 15. Oracle Certified Associate Java SE 7 Programmer (1Z0-803) - Guia de estudio Oscar Vásquez Flores (eoscarvf@gmail.com ) 15 8.5. Reconocer clases comunes de excepciones y sus categorías ❑ 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. 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.

×