advertisement

Oracle certified professional java se 6 programmer 4

0 %
100 %
advertisement
Information about Oracle certified professional java se 6 programmer 4
Education

Published on March 9, 2014

Author: PabloGaleanaBailey

Source: slideshare.net

Description

Oracle certified professional java se 6 programmer 4
advertisement

México Distrito Federal a 08 de Marzo de 2014 Autor: Pablo Galeana Bailey Cualquier duda y/o comentario quedo a sus órdenes para alguna asesoría o recomendación para mejorar el presente material. Email: knoppixpgb@gmail.com Capítulo 4 - Operadores 1. Objetivo de Certificación 7.6 - Operadores Java Escribir código que aplique correctamente los operadores incluyendo los de asignación (limitados a: =, += y -=), aritméticos (limitados a: +, -, *, /, %, ++ y --), relacionales (limitados a: <, <=, >, >=, == y !=), el operador instanceof, operadores lógicos (limitados a: &, |, ^, !, && y ||) y el operador condicional (? :) para producir el resultado deseado. Escribe código que determina la igualdad de dos objetos o dos tipos primitivos. Los operadores Java producen nuevos valores a partir de uno o más operandos. El resultado suele ser un booleano o un valor numérico. Existen unos cuantos operadores que viene sobrecargados:

  El operador + puede usarse para sumar dos números primitivos o para realizar una concatenación si los operandos son String. Los operadores &, | y ^ pueden usarse de dos formas, aunque para el examen, las capacidades de manejo de bits no se probarán. Los Operadores suele ser la sección del examen donde los candidatos obtienen sus peores resultados. Además, los operadores y las asignaciones son parte de muchas preguntas en otros temas. 1.1. Operadores de Asignación Para resumir:  Cuando asignamos un valor a un primitivo, el tamaño es importante. Debemos asegurarnos de cuando ocurre un carting implícito, cuando es necesario uno explícito y cuando podría ocurrir un truncamiento.  Recuerda que una variable de referencia no es un objeto sino una forma de obtener un objeto.  Cuando asignamos el valor a una variable de referencia, el tipo es importante. Recuerda las reglas para los supertipos, subtipos y arrays. Operadores de Asignación Compuestos Existen 11 o más operadores de asignación compuestos, pero sólo los cuatro más usados (+=, -=, *=, and /=) los veremos en el examen. Ejemplos: Las dos últimas asignaciones dan el mismo resultado que las primeras. 1.2. Operadores Relacionales El examen cubre seis operaciones relacionales (<, <= , >, >=, == , and !=). Estos operadores siempre dan como resultado un valor booleano. Este valor suele usarse en una sentencia 'if', tal y como se muestra a continuación:

Pero el valor resultante puede asignarse directamente a un tipo primitivo booleano: Algunas comparaciones legales: En el código anterior, estamos usando una comparación entre caracteres. Es también legal comparar un carácter con cualquier número (aunque no sea una buena práctica). Si ejecutamos el código anterior obtendremos la siguiente salida: The animal is a gray elephant Operadores de "Igualdad" Java también tiene dos operaciones relacionales que comparan dos "cosas" similares y devuelven un booleano que dice si dos cosas son iguales. Los operadores son: == Igual a != Distinto de Cada comparación individual puede involucrar dos números (incluyendo 'char'), dos valores booleanos o dos referencias a objetos. No podemos comparar tipos incompatibles. Existen cuatro tipos diferentes de cosas que podemos probar:  Números  Caracteres  Booleanos  Variables de Referencia a Objetos

Igualdad para Primitivos El siguiente código muestra algunos tests de igualdad sobre variables de primitivos: El programa produce la siguiente salida: character 'a' == 'a'? true character 'a' == 'b'? false 5 != 6? true 5.0 == 5L? true true == false? false Normalmente si se compara un número punto flotante con un entero y los valores son iguales, el operador == devuelve true. Igualdad para Variables de Referencia Dos variables de referencia pueden apuntar al mismo objeto, como muestra el siguiente código: Después de ejecutar este código, la variable 'a' y la variable 'b' apuntarán al mismo objeto. Podemos comprobar si dos variables apuntan al mismo objeto mediante el operador ==. Sin embargo, este operador comprueba los bits en la variable, por lo que si ambas variables son iguales, es que apuntan al mismo objeto. Veamos el siguiente código:

El código crea tres variables de referencia. Las dos primeras, 'a' y 'b', son objetos JButton con la misma etiqueta. El tercero, 'c', se ha inicializado con el mismo objeto al que apunta 'a'. Cuando se ejecuta el programa produce la siguiente salida: Is reference a == b? false Is reference a == c? true Esto nos muestra que 'a' y 'c' apuntan a la misma instancia y que el operador == no comprueban si dos objetos son "equivalentes. Igualdad para Enumerados Una vez que hemos declarado un 'enum', no es ampliable. En tiempo de ejecución no hay forma de crear constantes enum adicionales. Por supuesto podemos tener todas las variables que queramos para referirnos a una constante 'enum', por lo que es importante tener la posibilidad de comparar dos variables de referencia de enum para ver si son iguales. Podemos usar tanto el operador == como el método equals() para determinar si dos variables están apuntando a la misma constante enum: El código anterior produce la siguiente salida: == dot equals 1.3. Comparación instanceof El operador instanceof se usa sólo para variables de referencia a objetos y podemos usarlo para comprobar si un objeto es de un tipo particular. Por tipo, nos referimos a clase o interfaz -en otras palabras, si el objeto referenciado a la izquierda del operador para la prueba IS-A para la clase o interfaz situada en el lado derecho. Ejemplo : Imprime: "s is a string" Aun cuando el objeto que estamos comprobando no es una instanciación actual

del tipo de clase en el lado derecho del operador, instanceof seguirá devolviendo 'true' si el objeto que está siendo comparado es compatible con el tipo de la derecha. El siguiente ejemplo demuestra un uso común para instanceof: probar un objeto para ver si es una instancia de alguno de los subtipos antes de intentar un downcast: El código anterior compila y produce la siguiente salida: 'a' refers to a B En ejemplos como este, el uso del operador instanceof protege el programa de intentos ilegales de downcast. Podemos probar una referencia de objeto contra su propio tipo de clase o cualquiera de sus superclases. Esto significa que cualquier referencia a objeto evaluará a true si usamos el operador instanceof con el tipo Object, tal y como se muestra a continuación: Que imprime: "b is definitely an Object" Además, es legal probar si la referencia 'null' es una instancia de una clase. Esto siempre devuelve 'false', por supuesto. Por ejemplo: Imprime: Error de false Compilación de false instanceof

No podemos usar el operador instanceof para probar dos jerarquías de clases diferentes. Por ejemplo, el siguiente códifo NO compilará: La compilación falla, no hay forma de que 'd' podría hacer referencia a Cat o un subtipo de Cat. Dado lo siguiente: La siguiente tabla resume el uso del operador instanceof Primer Operando(la referencia Segundo Operando (tipo con el Resultado que se está evaluando) que estamos comparando) null Any class or interface type false Foo instance Foo, Bar, Face, Object true Bar instance Bar, Face, Object true Bar instance Foo false Foo[] Foo, Bar, Face false Foo[] Object true Foo[1] Foo, Bar, Face, Object true 1.4. Operadores Aritméticos Estos operadores pueden usarse de forma estándar: Operador Resto (%) El operador resto divide el operando izquierdo entre el derecho y coge el resto. Veamos un código de ejemplo:

Si ejecutamos la clase MathTest el resultado es el siguiente: The result of 15 % 4 is the remainder of 15 divided by 4. The remainder is 3 Importante: Las expresiones son evaluadas de izquierda a derecha por defecto. Podemos cambiar esta secuencia o precedencia añadiendo paréntesis. También hay que destacar que los operadores *, / y % tienen más prioridad que + y -. Operador de Concatenación de String El signo más (+) también puede usarse para concatenar dos cadenas, tal y como se muestra a continuación: La concatenación de String toma interés cuando combinamos números con cadenas: Los valores enteros son tratados como caracteres y unidos a la derecha de la cadena dando el segundo resultado: "String37". El código anterior podría leerse: "Empieza con una cadena a y le añadimos el caracter 3 (el valor de b) para producir String3, lueego añade el caracter 7 (valor de c) para producir String37." Podemos cambiar este comportamiento mediante paréntesis: Y obtendremos: "Stringl0". Al usar paréntesis haremos que se evalúe primero (b + c) y el operador + actuará como operador de asignación puesto que ambos operandos son valores enteros. El punto clave es que el operando de la izquierda del operador no es una cadena (String). Si lo fuera, el operador + actuaría como concatenación de String. La regla a recordar es: "Si algunos de los operandos es un String, el operador + se convierte en un operador de concatenación de cadenas. Si ambos operandos son números,

el operador actúa como operador suma." En el examen no será siempre tan obvio. Veamos el siguiente código: No podemos saber cómo se utilizará el operador + hasta que sepamos qué devuelve el método foo(). Si devuelve un String, entonces concatenará 7 a la cadena devuelta. Pero si devuelve un número, entonces el operador se usará para sumar 7 al número devuelto. Por último, necesitamos saber que es legal mezclar el operador de adición compuesto (+=) y los Strings, como se muestra a continuación: Puesto que las dos veces que se ha usado el operador += el operando de la izquierda era un String, ambas operaciones fueron concatenaciones, resultando en: 1234567 Operadores de Incremento y Decremento El operador se coloca antes (prefijo) o después (sufijo) de una variable para cambiar su valor. Si el operador se coloca antes o después del operando, puede cambiar el resultado de una expresión. Veamos lo siguiente: La ejecución de este programa genera la siguiente salida: %java MathTest players online: 0 The value of players is 1 The value of players is now 2 Observa que cuando la variable es impresa, el primer valor es 0. Esto es porque hemos usado el post-incremento, que sólo ocurre hasta que la variable se usa en la sentencia 'print'. La línea 5 no incrementa la variable, simplemente imprime el valor que hemos incrementado antes. La línea 6 aplica el pre-incremento, lo que indica que el incremento se realice antes de que se use la variable, por lo que la salida es 2.

En el examen veremos preguntas mezclando los operadores de incremento y decremento con otros operadores como en el siguiente ejemplo: El código anterior imprime: x = 3 y = 4 Podemos leer la sentencia 'if' como: "Si 3 es igual a 2 o 3 < 4". Como pasaba con la concatenación de Strings, los operadores de incremento y decremento se usan a lo largo de todo el examen, aún cuando las preguntas no van de ese tema. 1.5. Operador Condicional El operador condicional es un operador ternario (de tres operandos) y se usa para evaluar expresiones booleanas de forma parecida a la sentencia 'if', pero en lugar de ejecutar un bloque de código si la expresión devuelve true, el operador condicional asignará un valor a una variable. En otras palabras, el propósito de este operador es decidir cuál de los dos valores asignar a una variable. El operador se construye mediante un signo de interrogación (?) y dos puntos (:). Los paréntesis son opcionales. La estructura es:  x = (expresión booleana) ? valor a asignar si es true : valor a asignar si es false Veamos un ejemplo de un operador condicional: Podemos leer el código anterior como: "Pon numofPets a 3. Luego vamos a asignar una cadena a la variable 'status'. Si numofPets es menor que 4 asigna 'Pet limit not exceeded', en cualquier otro caso asigna 'too many pets'." Podemos anidar operaciones condicionales en una sentencia:

1.6. Operadores Lógicos Los objetivos del examen especifican seis operadores lógicos (&, |, ^, !, && y ||). Alguna documentación de Sun usa otra terminología para dichos operadores, pero para nuestros propósitos del examen los llamaremos así. Operadores Lógicos de Evaluación Perezosa Tenemos cinco operadores lógicos en el examen que se usarán para evaluar sentencias que contienen más de una expresión booleana. Los más usados de los cinco son los dos operadores lógicos de evaluación perezosa. Estos son: && Evaluación Perezona de AND || Evaluación Perezona de OR Se usan para enlazar expresiones booleanas para formar grandes expresiones booleanas. Estos operadores sólo evalúan valores booleanas. Para que AND (&&) resulte true, ambos operandos deben ser true. Por ejemplo: El código anterior evalúa a true puesto que ambos operandos evalúan a true. La evaluación perezosa del operador && hace que primero se evalúe el lado izquierdo (primer operando) y se devuelve false, no se evalúa el segundo operando puesto que ya se sabe que la expresión no puede ser true. Cuando ejecutamos el código anterior obtenemos: %java Logical boolean b = false

El operador || es similar al operador &&, excepto que se evalúa a true si ALGUNO de los operandos es true. En este comando, la evaluación perezosa hace que si el primer operando es true, la expresión devuelva true sin evaluar el segundo operando. Sin embargo, si el primer operando devuelve false, se debe evaluar el segundo. Pon atención en el siguiente ejemplo, veremos varias preguntas parecidas en el examen: El resultado es: % java TestOR i<5 Result is true i >= 5 i >= 5 Veamos que pasó cuando se ejecutó el método main(): 1. Línea 3: El primer operando se evalúa 2. Se invoca el método isItSmall(3), imprime "i < 5" y devuelve true. 3. Puesto que el primer operando en la línea 3 es true, el operador || no evlaúa el segundo operando. Nunca veremos "i >= 5". 4. Línea 6: Se evalúa el primer operando. 5. Se llama al métdo isItSmall(6), imprimiendo "i >= 5" y devolviendo false. 6. Como el primer operando es false, se evlaúa el segundo operando. 7. Se invoca al método isItSmall(9), imprimiendo "i >= 5". 8. El método isItSmall(9) devuelve false, por lo que la expresión de la línea 6 es false y nunca se ejecuta la lína 7.

Operadores Lógicos (Sin Evaluación Tenemos dos operadores lógicos sin evaluación perezosa: & No Evaluación Perezona de AND | No Evaluación Perezona de OR Perezosa) Estos operadores se usan en expresiones lógicas como && y ||, pero siempre evalúan los dos lados de la expresión. Son ineficientes. Encontraremos muchas preguntas en el examen que utilizan los operadores lógicos de evaluación perezosa y sin evaluación perezosa. Tenemos que saber perfectamente cuando se evalúan los operandos y cuando no, puesto que el resultado puede variar en función de si se evalúa el segundo operando. Por ejemplo: Operadores Lógicos Los dos últimos operadores lógicos son: ^ Exclusive Or (XOR) ! Negación ^y ! El operador ^ evalúa sólo valores booleanos. Este operador está relacionado con los operadores sin evaluación perezosa en el sentido de que siempre evalúa ambos operandos en una expresión. Para que este operador devuelva true, EXACTAMENTE un operando debe ser true. Por ejemplo: Produce la salida: "xor false". La expresión anterior se evalúa a false porque AMBOS operandos se evalúan a true. El operador negación (!) devuelve el opuesto del valor actual de un boolean: Puede ser leído como "si no es true La sentencia produce la siguiente Veamos otro ejemplo que usa booleanos: la expresión 7 salida: "not == 5". equal".

Produce la salida: "! true false". En el ejemplo anterior, observa que la condición & pasa (imprime true) y que el valor de la variable no cambia, por lo que imprime false.

Add a comment

Related presentations

Related pages

Java SE 6 Programmer Certified Professional | Oracle ...

Additional Training and Preparation . In addition to the Recommended Training course(s) from Oracle University, your preparation plan for Oracle ...
Read more

Oracle Certified Professional, Java SE 6 Programmer

Programmers with advanced Oracle Java SE 6 Professional Certifications under their belt have an edge in the market. ... Certified Java Programmer
Read more

NEW CERTIFICATION: Oracle Certified Professional (OCP ...

... Oracle Certified Professional, Java SE 7 ... Java SE 7 Developer, or Oracle Certified Expert ... If you are pursuing Java SE 5 or SE 6 Programmer, ...
Read more

OCPJP/SCJP 6 (Sun Certified Java Programmer) Certification ...

OCPJP 6/SCJP 6 (Sun Certified Java Programmer) ... 4 sessions (24 hrs) ... How to Prepare for Oracle Certified Professional, Java SE 6 Programmer ...
Read more

Oracle Certification Program - Wikipedia, the free ...

The Oracle Certified Associate Java SE Programmer ... Oracle's Certified Professional Java SE Programmer (OCPJP) [4] ... The OCPJP 6 exam tests a candidate ...
Read more

Oracle Java Zertifikate – Wikipedia

... das unter der Plattform-Version 6 abgelegt ... Seit der Version 7 ist es Voraussetzung für das Zertifikat Oracle Certified Professional Java Programmer.
Read more

Oracle Certified Professional, Java SE 7 Programmer

Oracle Certified Professional, Java SE 7 Programmer ... Zertifizierung als "Oracle Certified Professional, Java SE 7 Programmer ... 12/4/2015 6:11:41 ...
Read more

Oracle Certified Professional, Java SE 6 Programmer - Acclaim

Oracle Certified Professional, Java SE 6 Programmer An Oracle Certified Professional, Java SE 6 Programmer has experience using the Java programming ...
Read more

Oracle Certified Professional, Java SE 6 Programmer - Acclaim

An Oracle Certified Professional, Java SE 6 Programmer has experience using the Java programming ... Oracle Certified Professional, Java SE 6 Programmer
Read more

OCPJP 6 Online Course - Oracle Certified Professional ...

Oracle Java Certifications. OCA, Java SE 5/SE 6 Programmer; OCA, Java SE 7 Programmer; OCA, ... Oracle Certified Professional, Java SE 6 Programmer ...
Read more