Descubre millones de libros electrónicos, audiolibros y mucho más con una prueba gratuita

Solo $11.99/mes después de la prueba. Puedes cancelar en cualquier momento.

OCA Java 8 Programmer I Teoría y Práctica Para Certificación
OCA Java 8 Programmer I Teoría y Práctica Para Certificación
OCA Java 8 Programmer I Teoría y Práctica Para Certificación
Libro electrónico779 páginas5 horas

OCA Java 8 Programmer I Teoría y Práctica Para Certificación

Calificación: 0 de 5 estrellas

()

Leer la vista previa

Información de este libro electrónico

Libro de preparación con más de 270 preguntas resueltas, dirigido a profesionales que desean certificarse en Java 8 Programmer I de Oracle. Esta publicación detalla en teoría y con ejemplos didácticos todo el temario especificado por Oracle. Además se incluyen un simulacro de examen por cada uno de los seis capítulos del libro, asi como de un simulacro final de examen de certificación, de tal forma que al finalizar la lectura, se esté preparado para rendir exitosamente el examen de certificación Java Programmer I (1Z0-808) de Oracle.

IdiomaEspañol
EditorialJulio Sanchez
Fecha de lanzamiento26 jul 2018
OCA Java 8 Programmer I Teoría y Práctica Para Certificación

Relacionado con OCA Java 8 Programmer I Teoría y Práctica Para Certificación

Libros electrónicos relacionados

Programación para usted

Ver más

Artículos relacionados

Comentarios para OCA Java 8 Programmer I Teoría y Práctica Para Certificación

Calificación: 0 de 5 estrellas
0 calificaciones

0 clasificaciones0 comentarios

¿Qué te pareció?

Toca para calificar

Los comentarios deben tener al menos 10 palabras

    Vista previa del libro

    OCA Java 8 Programmer I Teoría y Práctica Para Certificación - Julio Sanchez

    CRÉDITOS

    OCA JAVA 8 PROGRAMMER I: TEORÍA Y PRÁCTICA PARA CERTIFICACIÓN

    JULIO SÁNCHEZ

    © Julio César Sánchez Díaz, 2018

    julio.sanchez@sanxdit.com

    Diseño y Diagramación:

    Julio César Sánchez Díaz

    Edición Digital por:

    Julio César Sánchez Díaz

    Primera Edición Digital – junio del 2018

    AGRADECIMIENTOS

    Agradradezco a la comunidad de profesionales certificados de Oracle en LinkedIn, por su apoyo y colaboración en la revisión del contenido, así como por las sugerencias muy bien apreciadas.

    Respecto al Diseño de La Cubierta

    La imagen principal de la cubierta es una imagen fractal, que tiene como parámetro principal un factor lambda. El valor de este factor lambda tiene como número principal el 8. Ya se imaginan, que nada de esto es casualidad, a excepción, tal vez esté equivocado, de la imagen producto de la combinación es estas características.

    TEMARIO GENERAL

    JAVA ELEMENTAL

    CONTROL DE FLUJO Y OPERADORES

    CLASES SELECTAS DE JAVA

    LAMBDAS, MÉTODOS Y ENCAPSULAMIENTO

    POLIMORFISMO Y HERENCIA DE CLASES E INTERFACES

    MANEJANDO EXCEPCIONES

    Introducción

    Agradecemos por su elección y le comunicamos que el examen de certificación es bastante llevadero, y podemos dividir el tipo de preguntas en dos categorías que pasamos a detallar.

    La primera categoría de preguntas comunes que necesitan conocer la teoría y que ascienden aproximadamente al 80%. La segunda categoría de preguntas con detalles escondidos de menor cantidad y requiere más de nuestra atención.

    Vamos a poner toda nuestra experiencia para ayudarle a lograr la certificación Oracle. Te vamos a empoderar para que puedas rendir exitosamente el examen de certificación OCA: Java Programmer I y así, te unas a este grupo privilegiado de profesionales.

    Oracle especifica los temas que abarca el examen y este curso los va a desarrollar ampliamente en la teórica y, sobre todo, en la parte práctica, de tal manera, que obtengas los skills necesarios para rendir confiadamente el examen de certificación.

    Te recomendamos que realices los simulacros que adjuntamos, practiques e identifiques qué temas necesitan repaso.

    Si deseas comunicarte para hacer un comentario o recomendación, te alentamos a escribirnos al correo electrónico ocajava8book@sanxdit.com o hacer un post al blog que tiene por dirección https://ocajava8book.blogspot.com, creado para esta publicación.

    Finalmente, deseamos que la comunidad de profesionales certificados de Oracle, se incremente hasta llegar a la meta de tener equipos completos de profesionales certificados, con la finalidad que nuestra comunidad de habla hispana, especialmente de latino américa, se beneficie mucho más de la industria del desarrollo de software.

    Julio Sánchez.

    Contenido

    CRÉDITOS

    AGRADECIMIENTOS

    TEMARIO GENERAL

    CAPITULO i: jAVA ELEMENTAL

    Introducción

    Comenzando con Java

    Fundamentos de Programación Orientada a Objetos

    Abstracción

    Encapsulamiento

    Herencia

    Polimorfismo

    Estructura de una clase

    Campos

    Métodos

    Método main

    Comentarios

    Usando Objetos

    Qué Es Un Constructor

    Trabajando con campos de un objeto

    Identificadores

    Diferencias entre tipos Primitivos y Referencias

    Qué son las variables

    Tipos Primitivos

    Tipo referencia

    Declarando múltiples Variables

    Inicializar una Variable

    Variables Locales

    Variables de clase

    Variables de Instancia

    Parámetro de Métodos

    Variable de Instancia Final

    Alcance de una variable

    Bloque de inicialización de campos

    Orden de inicialización de campos

    Cómo Declarar e Importar Paquetes

    Qué es un Paquete

    Cómo declarar un paquete

    Cómo importar paquetes

    Importaciones redundantes de paquetes

    Conflicto de paquetes

    Ciclo de Vida Simplificado de un Objeto

    Estado  Creado

    Estado En Uso

    Estado Inalcanzable

    Estado Finalizado

    Estado Desasignado

    Eliminando un Objeto

    Qué es Garbage Collection

    Qué es el método finalize

    Guardar las clases que programamos

    Compilar y ejecutar  clases

    Ventajas de Java

    Independiente de plataforma

    Soporta Programación Funcional

    Lenguaje Orientado a Objetos

    Abstracción

    Herencia

    Encapsulación

    Polimorfismo

    Seguridad

    Gestión Automática de Memoria

    Fuertemente Tipado

    Soporta Herencia Múltiple

    MEDIA MARATÓN - EJERCICIOS DE ENTRENAMIENTO

    SIMULACRO DE EXAMEN DE CERTIFICACIÓN – CAPÍTULO I- Tiempo: 75’

    RESPUESTAS AL EXAMEN

    CAPITULO ii: CONTROL DE FLUJO Y OPERADORES

    Introducción

    Qué es un operador

    Orden de precedencia de Operadores

    Operador de Asignación

    Operadores Aritméticos

    Los paréntesis modifican el orden de precedencia

    Promoción Numérica

    Operadores Unarios

    Introducción

    Operador de Negación

    Operadores Incremento y Decremento

    Más Sobre Operadores Binarios

    Casting a Valores Primitivos

    Operadores de Asignación Compuesta

    Operadores de Igualdad

    Operadores Relacionales

    Operador instanceOf

    Operadores Lógicos

    Trabajando con el Operador Ternario

    Usando Clases Contenedoras

    Estructura de Herencia de clases Contenedoras

    Conversión de String a Tipos Primitivos y Clases Contenedoras

    Autoboxing y Unboxing

    SENTENCIAS DE DECISIÓN

    Usando if

    Trabajando con  if –  else

    Sentencia for en práctica

    Facilitando el trabajo con for- each

    Usando la sentencia while

    Trabajando con  do – while

    Usando switch

    Loops Anidados

    Usando etiquetas

    Sentencia continue

    La Sentencia break

    MEDIA MARATÓN - EJERCICIOS DE ENTRENAMIENTO

    SIMULACRO DE EXAMEN DE CERTIFICACIÓN – CAPÍTULO II - Tiempo: 78’

    RESPUESTAS AL EXAMEN

    CAPITULO III: CLASES SELECTAS DE JAVA

    Introducción

    Las Nuevas Clases de Fecha y Tiempo

    Cómo Crear Objetos de Fechas y Tiempo

    Usando Fecha y Tiempo en Java

    Interpretando cadenas de Fecha y Tiempo

    Trabajando con Cadenas

    La clase String

    String es Inmutable

    El Pool de String

    Concatenación

    Métodos de String

    Encadenado de Métodos

    String Builder, Mejorando String

    Usando Arreglos

    Qué es un Arreglo

    Declarar e Inicializar un Arreglo

    Campo length

    Método clone

    Ordenamiento de Arreglos

    Búsqueda en Arreglos

    Qué es varargs

    Arreglos Multidimensionales

    Usando Listas

    Interface List

    La clase ArrayList

    Acceder a Elementos de una Lista

    Modificar Elementos de una Lista

    Eliminar elemento de una Lista

    Conversión entre un Arreglo y una Lista

    Ordenamiento Mediante el uso de la clase Collection

    Definiendo Igualdad

    El Operador ==

    Método equals

    MEDIA MARATÓN - EJERCICIOS DE ENTRENAMIENTO

    SIMULACRO DE EXAMEN DE CERTIFICACIÓN – CAPÍTULO III- Tiempo: 75’

    RESPUESTAS AL EXAMEN

    CAPITULO IV: LAMBDA, MÉTODOS Y ENCAPSULAMIENTO

    Introducción

    Constructores

    Propiedades de Constructor

    Cómo crear Constructores

    Constructor por Defecto

    Constructores Sobrecargados

    Invocación entre Constructores

    Destructor

    Trabajando con Métodos

    Qué son los modificadores de Acceso

    Especificadores Opcionales

    Tipo de Retorno

    Nombre del Método

    Lista de Parámetros

    Parámetro tipo vararg

    Lista de Excepciones

    Cuerpo del Método

    Trabajando con modificadores de acceso

    Miembros de Clase Estáticos

    Pasar información a un método

    Sobrecargando Métodos

    Orden de Inicialización

    Introducción

    Trabajando con Encapsulamiento

    Cómo Realizar Encapsulamiento

    Lambda Elemental

    Introducción

    Programando con Expresiones Lambda

    Estructura de una Expresión Lambda

    Interface Funcional

    Método removeIf, usando Lambdas con Listas

    MEDIA MARATÓN - EJERCICIOS DE ENTRENAMIENTO

    SIMULACRO DE EXAMEN DE CERTIFICACIÓN – CAPÍTULO IV - Tiempo: 75’

    RESPUESTAS AL EXAMEN

    CAPITULO V: POLIMORFISMO Y HERENCIA DE CLASES E INTERFACES

    Introducción

    Qué es Herencia de Clases

    Beneficios de Herencia de Clases

    Cómo Realizar Herencia de Clases

    Control de Acceso a Miembros de Clase

    Modificador de Acceso Privado (private)

    Modificador de Acceso Por Defecto

    Modificador de Acceso Protegido (protected)

    Modificador de Acceso Público (public)

    Qué Miembros Hereda una Sub Clase

    Instanciando una Clase

    Cómo Usar Miembros Heredados

    Usando Variables Heredadas

    Trabajando con Métodos Heredados

    Diferencias entre Sobrescribir y Sobrecargar Métodos Heredados

    Jerarquía de Clases

    Cómo crear clases abstractas

    Especificación de una Clase Abstracta

    Sub Clase Concreta

    Cómo extender una clase Abstracta

    Usando Interfaces y Herencia Múltiple

    Introducción

    Qué es una interface

    Consideraciones para Definir una Interface

    Variables de una Interface

    Cómo extender una Interface

    Resolviendo Conflicto de Métodos Heredados

    Métodos Estáticos de Interfaces

    Herencia de Interfaces con Métodos por Defecto

    Usando  Polimorfismo y Conversiones

    Polimorfismo

    Conversiones Explícitas

    MEDIA MARATÓN - EJERCICIOS DE ENTRENAMIENTO

    SIMULACRO DE EXAMEN DE CERTIFICACIÓN – CAPÍTULO V - Tiempo: 75’

    RESPUESTAS AL EXAMEN

    CAPITULO VI: MANEJANDO EXCEPCIONES

    Introducción

    Qué Son Excepciones

    El API de Excepciones

    Cómo Capturar una Excepción

    Cómo Lanzar una Excepción Programáticamente

    Usando finally

    Manejando Varios tipos de Excepciones

    Lanzando Múltiples Excepciones

    Trabajando con Excepciones Comunes

    Excepciones Explícitas

    Excepciones Implícitas

    Errores

    Cómo Manejar Excepciones Lanzado por Métodos

    Analizando una Excepción

    MEDIA MARATÓN - EJERCICIOS DE ENTRENAMIENTO

    SIMULACRO DE EXAMEN DE CERTIFICACIÓN – CAPÍTULO VI - Tiempo: 75’

    RESPUESTAS AL EXAMEN

    ADENDA

    SIMULACRO DE EXAMEN DE CERTIFICACIÓN 1Z0-808:  OCA JAVA SE 8 PROGRAMMER I

    RESPUESTAS AL SIMULACRO DE EXAMEN DE CERTIFICACIÒN

    JAVA ELEMENTAL

    Fundamentos de programación

    Estructura de una clase

    Usando Objetos

    Identificadores

    Diferencia entre tipos

    Importar paquetes

    Ventajas de Java

    Introducción

    En este capítulo explicaremos los conceptos principales del lenguaje de programación Java y de la programación orientada a objetos en general. A pesar de ser aspectos básicos del lenguaje, es recomendable una revisión del capítulo porque hay temas que seguramente serán nuevos para ti.

    En cada tema presentamos ejemplos tipo examen de certificación, de tal manera que se familiarice con las preguntas. Cuánto más preguntas  desarrolle y practique, aumentará su posibilidad de lograr el objetivo. Con trabajo y persistencia, estamos seguros que serán así. Comencemos con este apartado importante.

    Comenzando con Java

    ¿Qué es Java?

    A: Un lenguaje orientado a objetos

    B: Un lenguaje funcional y orientado a objetos

    C. Lenguaje procedural

    Java es un lenguaje de programación orientado a objetos principalmente, pero además tiene características funcionales. Respuesta A.

    Por qué Java es un lenguaje Orientado a Objetos

    Porque los programas que creamos en Java están basados en la interacción de objetos que se envían mensajes unos a otros con la finalidad de brindar un funcionamiento útil. Los mecanismos fundamentales de la programación orientada  a objetos son, justamente, los objetos, métodos, mensajes y clases.

    Qué es una clase

    Una clase es un tipo de objeto definido por el usuario. Una clase es una generalización de tipos de objetos, como un molde o plantilla que dará la forma a objetos que obtendremos a partir de esta plantilla.

    En una clase se especifica o programa dos aspectos principales, primero, las características o estado del objeto. Segundo, el comportamiento o funcionamiento

    Técnicamente, una clase es un bloque de construcción básico, y nuestro trabajo consiste en definir o programar cada parte de ese bloque.

    Se puede hacer una analogía de clases con moldes o corta galletas. Con el corta galletas podemos obtener galletas de diferentes características y en cualquier número y, dependiendo del molde, cualquier forma.

    Figura1.1. Molde de Galletas

    Qué es un Objeto

    Un objeto es producto de usar una clase para su creación, lo que se conoce técnicamente como instanciar una clase. Nosotros los programadores escribimos clases que nos servirán para crear objetos que irán a interactuar con otros.

    Los objetos son la base de un programa orientados a objetos, en base a su interacción se construye el software. Haciendo uso de las mejores prácticas de análisis y diseño, podemos estructurar correctamente un software, comenzando por diseñar una clase y utilizar estructuras complejas como patrones de diseño.

    Técnicamente, un objeto es una encapsulación genérica de datos y comportamiento que manipulan esos datos y, eventualmente, producen un resultado. Un objeto es una entidad que tiene propiedades y métodos que manipulan esas propiedades.

    Fundamentos de Programación Orientada a Objetos

    Abstracción

    Exponer lo esencial y relevante ocultando los detalles a los usuarios. Nos permite generalizar y enfocarnos en los aspectos que brinden una visión global del problema.

    Encapsulamiento

    Esta característica nos permite ver a un objeto como una caja negra, con entradas y salidas específicas, sin considerar los detalles internos. Además va a permitir proteger el estado del objeto de inconsistencias y manipulación que causen errores.

    Herencia

    Nos brinda acceso automático de información contenida en otras clases, lo que garantiza la reutilización de código, atributos y comportamiento.

    La herencia va a dar lugar a la formación de jerarquías de clases, obteniendo clases relacionadas. Las clases que están en la parte inferior de la jerarquía heredan de las clases que están en la jerarquía superior, llamadas super clases o clases padre.

    La herencia de clases en Java es simple, es decir que una clase sólo puede tener una super clase. Sin embargo, con el uso de las nuevas características de interfaces podemos tener herencia múltiple.

    Figura1.2. Herencia Simple

    Polimorfismo

    Hace referencia a la capacidad que puede tener un objeto de asumir tipos distintos al suyo. Así, un objeto puede asumir el tipo de la super clase, por ejemplo.

    A nivel de clase, un método puede tener comportamientos distintos, como se explicará en los siguientes capítulos.

    Estructura de una clase

    Una clase tiene dos partes principales. Los campos y los métodos. Adicionalmente se consideran comentarios, inicializadores de instancia y estáticos. Así como constructores y sentencias importación.

    Figura 1.3. Estructura de clase

    Como se aprecia, se definió una clase que tiene de nombre Clase. Esta clase tiene dos campos o estados llamados campo1 y campo2. Se observan dos métodos, el primero llamado metodo1 y el segundo llamado metodo2, que retorna un valor tipo String y especifica un parámetro tipo String.

    Se aprecia que dentro del paréntesis del método metodo2 hay una variable de nombre arg y tipo String. Esta es una variable parámetro que recibirá los argumentos al momento de la invocación del método.

    Como dijimos, una clase tiene dos partes principales, campos y métodos que detallaremos a continuación.

    Campos

    Contendrá las características de nuestro objeto, lo que se conoce como estado. Por ejemplo el color rojo un objeto laptop es un estado.

    Métodos

    Es el funcionamiento o comportamiento que se especifica en la clase. Por ejemplo, el encender un objeto laptop es un comportamiento.

    Declaración de Método

    La declaración de un método está formada por los siguientes elementos:

    Nombre del método

    Lista de parámetros del método

    Bloque de código que forma el cuerpo del método

    Tipo retornado por el método

    Lista de excepciones, como opcional

    Definición o Firma de método

    La definición de un método está formada por los siguientes elementos:

    Nombre del método

    La lista de argumentos, teniendo en cuenta el tipo, la cantidad y el orden de parámetros.

    Este concepto es ampliamente utilizado en el apartado de Herencia, especialmente cuando se sobrecarguen, sobrescriban y oculten métodos, que se explicará en los capítulos de Métodos y Herencia. Esta parte también es conocida como signature del método.

    Método main

    El método main es especial, pues sirve para decirle a la máquina virtual de Java de dónde tiene que empezar a ejecutar nuestro programa; a esto se le llama el punto de entrada del programa o entry point.

    Todo programa debe tener un punto de entrada. El signature o firma del método main es de la siguiente manera:

    Es posible cambiar el nombre del argumento nameArg y la ubicación de los modificadores public y static. Además es válido agregar otros modificadores como final y synchronized. El tipo de retorno del método, en este caso void, no debe omitirse y siempre debe ir antes del nombre del método

    Los corchetes nos dicen que la variable es un arreglo, un objeto que puede contener varios objetos del mismo tipo, en este caso, el tipo es una cadena, un String.

    Si un programador cambia el signature del método main no será un punto de entrada y se convertirá en un método común.

    Comentarios

    Los comentarios sirven para que un programador explique o documente el código que escribe. Tenemos que decirle al compilador que vamos a escribir un comentario y para hacerlo hay dos formas:

    Dos barras inclinadas ( // ). Este tipo de comentario es de una sola línea

    Una barra seguida de un asterisco y luego con un asterisco seguido de una barra (/* */). Este tipo de comentarios fue creado para soportar múltiples líneas.

    Usando Objetos

    Ahora que conocemos cómo se construyen plantillas o moldes de objetos, que son las clases, pasaremos a detallar cómo obtener objetos que colaboren entre sí para llegar a obtener la funcionalidad completa del sistema informático.

    Los objetos van a permitir ejecutar la funcionalidad que escribimos en las clases,  así como manipular sus estados. Por ejemplo si nuestro objeto es una laptop, vamos a poder encender, apagar, ponerle más memoria, etc. a nuestro objeto virtual, estableciendo valores a sus estados, a través del comportamiento que ofrecen.

    El proceso de crear un objeto, en términos técnicos se llama instanciar una clase. Veamos un ejemplo:

    Se escribe el tipo de objeto como String. Se le da nombre a la referencia como cadena y se usa la palabra reservada new. Finalmente especificamos el nombre del constructor, que es igual al nombre de la clase, escribiendo los argumentos dentro de los paréntesis si fuese necesario. En este caso sin argumentos.

    Qué Es Un Constructor

    Un constructor es un tipo especial de método que tiene la finalidad de inicializar valores en los campos al momento de construir un objeto. Solamente puede ser llamado en la construcción o instanciación de objetos. Sin embargo, un constructor puede llamar a otro constructor de su propia clase o de su clase padre usando la palabra this o super, según el caso.

    Veamos un ejemplo de invocación a constructores:

    Trabajando con campos de un objeto

    En este punto conocemos cómo definir clases de las cuales podemos obtener objetos, ahora deseamos utilizar los objetos que se han creado, enviarles información y obtener una respuesta. Siguiendo con el ejemplo anterior, si se instanció un objeto LapTop, ¿cómo podemos saber cuál es su color?

    Podemos averiguar el estado de un objeto escribiendo la referencia al objeto seguido de punto y luego el nombre del campo, de la siguiente manera:

    nombreReferencia.nombreCampo

    Se puede imprimir la marca del objeto laptop en pantalla así:

    Si se desea asignar o cambiar el estado marca se puede realizar de la siguiente forma:

    Identificadores

    Un identificador es un nombre, de longitud ilimitada, que se puede asignar a variables, clases, métodos, paquetes e interfaces y otros. Los identificadores deben cumplir ciertas reglas para ser considerados válidos, como el uso de caracteres permitidos y la restricción de usar palabras reservadas del lenguaje Java.

    Java soporta codificación de caracteres Unicode 16, que va a permitir a los programadores utilizar identificadores de su propio idioma, como español, chino, japonés, coreano y otros.

    Veamos las reglas que debe cumplir

    ¿Disfrutas la vista previa?
    Página 1 de 1