Conocimientos básicos de informática y programación
Prácticas
Sí.
Para qué te prepara
"Crear aplicaciones Java complejas que aprovechen las características de la programación orientada a objetos propias de Java, tales como la herencia y el polimorfismo.
. Examen de certificación
Dirigido a
Programadores interesados en añadir el lenguaje Java a su lista de conocimientos y alumnos que se estén preparando para el examen de Certificación en Java de Sun Microsystems.
Nos dedicamos a la formación a empresas y particulares. Disponemos de aulas alta
mente equipadas, y cursos nuevos en el mercado.
Las aulas de Loyal Infinity se encuentran en el propio local Can Bruixa , mediante los diferentes transportes públicos de la ciudad. Están provistas con los equipos y software de última generación (cañón, proyector, ...) apropiados para poder imparti...
Cursos de la misma temática (Atención al cliente garantizada | Titulación oficial | Prácticas)
Madrazo, 27/29, 4º Barcelona 08006 Barcelona (España)
Madrazo 27 Barcelona 08006 Barcelona (España)
Temario del curso
Sección 1: Declaraciones y control de accesos
· Escribir código que declare, construya e inicialice matrices (arrays) de cualquier tipo básico utilizando alguna de las formas permitidas de declaración e inicialización.
· Declarar clases, clases anidadas, métodos, variables de instancia, variables estáticas y variables automáticas (método local) utilizando adecuadamente todos los modificadores permitidos (como public, final, static, abstract, etc.).
· Especificar la importancia de cada uno de estos modificadores por separado y en combinación, e indicar el efecto que producen las relaciones de paquetes sobre los objetos declarados que califican esos modificadores.
· Dada una clase, determinar si se creará un constructor predeterminado y, en caso afirmativo, indicar el prototipo de ese constructor.
· Especificar los tipos admitidos que puede devolver un método dadas las declaraciones de todos los métodos relacionados en su clase o en las clases de nivel superior.
· Escribir código que declare, construya e inicialice matrices (arrays) de cualquier tipo básico utilizando alguna de las formas permitidas de declaración e inicialización.
· Declarar clases, clases anidadas, métodos, variables de instancia, variables estáticas y variables automáticas (método local) utilizando adecuadamente todos los modificadores permitidos (como public, final, static, abstract, etc.).
· Especificar la importancia de cada uno de estos modificadores por separado y en combinación, e indicar el efecto que producen las relaciones de paquetes sobre los objetos declarados que califican esos modificadores.
· Dada una clase, determinar si se creará un constructor predeterminado y, en caso afirmativo, indicar el prototipo de ese constructor.
· Especificar los tipos admitidos que puede devolver un método dadas las declaraciones de todos los métodos relacionados en su clase o en las clases de nivel superior.
Sección 2: Control del flujo, aserciones y manejo de excepciones
· Escribir código utilizando las sentencias if y switch, e identificar los tipos de argumentos admitidos para estas sentencias.
· Escribir código utilizando todas las formas de bucles, incluidos los de sentencias break y continue utilizadas con y sin etiqueta, e indicar los valores que adoptan las variables de control del bucle durante y después de la ejecución del mismo.
· Escribir código que utilice adecuadamente excepciones y cláusulas de manejo de excepciones (try, catch, finally), y declare métodos y métodos redefinidos (overriding) que lancen (throw) excepciones.
· Reconocer el efecto que produce una excepción que se genera en un punto dado de un fragmento de código. Nota: Puede ser una excepción runtime, comprobada (checked) o un error (el programa debe incluir las cláusulas try, catch o finally en cualquier combinación válida).
· Escribir código que utilice adecuadamente aserciones y distinga entre el uso apropiado e inapropiado de las aserciones.
· Identificar las sentencias correctas en el mecanismo de aserción
Sección 3: Reciclaje de memoria dinámica
· Explicar el comportamiento que garantiza el sistema de reciclaje de memoria dinámica (garbage collection).
· Escribir código que explícitamente cree objetos aptos para reciclaje.
· Reconocer el punto de un fragmento de código dado en el que un objeto se puede elegir para reciclaje.
Sección 4: Fundamentos del lenguaje
· Identificar correctamente declaraciones package, sentencias import, declaraciones de clases (en todas sus formas, incluidas las internas), declaraciones de interfaces, declaraciones de métodos (incluido el método main que se utiliza para iniciar la ejecución de una clase), declaraciones de variables e identificadores.
· Identificar clases que implementen correctamente una interfaz java.lang.Runnable u otra interfaz completamente especificada en la pregunta.
· Establecer la correspondencia entre los valores de índice en la matriz (array) de argumentos pasados a un método main y los argumentos de la línea de comandos.
· Identificar todas las palabras reservadas de Java. Nota: no habrá preguntas que obliguen a hacer extrañas distinciones entre palabras reservadas y constantes manifiestas.
· Indicar el efecto de usar una variable o un elemento de array de cualquier tipo cuando no ha sido asignado explícitamente.
· Establecer el rango de valores de todos los tipos de datos primitivos y declarar valores literales para String y todos los tipos primitivos utilizando todos los formatos, bases y representaciones permitidos
Sección 5: Operadores y asignaciones
· Determinar el resultado de aplicar cualquier operador (incluidos los operadores de asignación, conversión explícita (cast) e instanceof) a operandos de cualquier tipo, clase, ámbito o accesibilidad, o cualquier combinación de estos.
· Determinar el resultado de aplicar el método boolean equals(Object) a objetos de cualquier combinación de las clases java.lang.String, java.lang.Boolean y java.lang.Object.
· Dada una expresión que incluye los operadores &, |, &&, || y variables de valores conocidos, indicar qué operandos se evalúan y el valor de la expresión.
· Indicar cómo afecta a los objetos y valores primitivos el pasar variables a métodos y realizar asignaciones y otras operaciones de modificación dentro de ese método.
Sección 6: Sobrecarga (overloading), redefinición (overriding), tipo Runtime y programación orientada a objetos
· Indicar las ventajas de la encapsulación en un diseño orientado a objetos (OO) y escribir código que implemente clases bien encapsuladas y las relaciones "is a" y "has a".
· Escribir código que llame a métodos redefinidos o sobrecargados y constructores sobrecargados o de jerarquía superior, y describir el efecto de llamar a esos métodos.
· Escribir código para construir instancias de cualquier clase, incluidas clases normales de nivel superior y clases anidadas
Sección 7: Threads
· Escribir código para definir, instanciar e iniciar nuevos threads utilizando java.lang.Thread y java.lang.Runnable.
· Reconocer las condiciones que pueden impedir la ejecución de un thread.
· Escribir código utilizando synchronized, wait, notify y notifyAll para evitar problemas de accesos concurrentes y permitir la comunicación entre threads.
· Definir la interacción entre threads y bloqueos de objetos al ejecutar los métodos synchronized, wait, notify o notifyAll.
Sección 8: Clases fundamentales del paquete java.lang
· Escribir código utilizando los siguientes métodos de la clase java.lang.Math: abs, ceil, floor, max, min, random, round, sin, cos, tan y sqrt.
· Explicar el significado de la inmutabilidad de los objetos String.
· Explicar la importancia de las clases Wrapper, lo que incluye seleccionar aquellas que mejor cumplen los requisitos de comportamiento dados, indicar el resultado de ejecutar un fragmento de código que incluya una instancia de una de las clases Wrapper y escribir código que utilice los siguientes métodos de las clases Wrapper
o doubleValue
o floatValue
o intValue
o longValue
o parseXxx
o getXxx
o toString
o toHexString
Sección 9: Arquitectura de colecciones
· Hacer la selección apropiada de clases/interfaces que respondan a unos requisitos de comportamiento dados.
· Distinguir entre las implementaciones correctas e incorrectas de los métodos hashcode