¡Amigos! Recientemente me presenté para el examen OCA y obtuve un 95%. Aquí estoy compartiendo algunas técnicas y patrones de preguntas de examen que deben ayudarlo mientras se presenta para la prueba OCA. Este examen garantiza hacer preguntas sobre los temas a continuación o podemos decir declaraciones.
Código de examen: 1Z0-808
1. Debe practicar las diferencias entre str1 == str2 y str1.equals(str2) .
Ejemplo-1.1 :
class Test { public static void main(String[] args) { String s = new String("hello"); String s2 = "hello"; if (s == s2) { System.out.println("=="); } if (s.equals(s2)) { System.out.println("equals"); } } }
equals
Motivo : porque la clase String es igual a los objetos de comparación de métodos, pero el operador == solo compara referencias. Si ambas referencias apuntan al mismo objeto, solo el operador == devuelve verdadero.
Ejemplo-1.2 :
class Test { public static void main(String[] args) { String s = new String("hello"); String s2 = s; if (s == s2) { System.out.println("=="); } if (s.equals(s2)) { System.out.println("equals"); } } }
== equals
Motivo : porque ambas referencias apuntan al mismo objeto, por lo que se imprime «==» y si ambas referencias apuntan al mismo objeto, por defecto son iguales, por lo que se imprime «igual».
2. Estudie el operador ternario y sus errores de tiempo de compilación.
Ejemplo-2.1 :
class Test { public static void main(String[] args) { int marks = 90; String result = marks > 35 ? "Pass" : "Fail"; System.out.println(result); } }
Pass
Ejemplo-2.2 :
class Test { public static void main(String[] args) { int marks = 90; String result = marks > 60 ? "Pass with 1st div." : marks < 50 ? "Pass with 2nd div." : marks < 40 ? "Pass with 3nd div."; System.out.println(result); } }
SALIDA : Tiempo de compilación
Motivo del error : ¿marcas <40? «Pase con 3.º div.» no está completo.
Corrección : puntos < 40? «Pase con 3.º div.» :”Falla” .
3. Estudie la regla «Los objetos de string son inmutables».
Ejemplo-3.1 :
class Test { public static void main(String[] args) { String ta = "A "; ta = ta.concat("B "); String tb = "C "; ta = ta.concat(tb); ta.replace('C', 'D'); ta = ta.concat(tb); System.out.println(ta); } }
A B C C
4. Expresión lambda y sus formas simplificadas.
Sintaxis de expresión Java Lambda:
(argumento-lista) -> {cuerpo}
4.1 Ejemplo de expresión Lambda: sin parámetro
// This a java method void printHello() { System.out.println("Hello World "); } Or // As lambda the above method can be written as below () -> { System.out.println("Hello World "); }; Or // {} is optional for single line statement () -> System.out.println("Hello World ");
4.2 Ejemplo de expresión lambda: parámetro único
// This a java method void sayHello(String name) { System.out.println("Hello " + name); } Or (name) -> { System.out.println("Hello " + name); }; Or // {} optional (name) -> System.out.println("Hello " + name); Or // () optional for single input parameter. name -> System.out.println("Hello " + name);
4.3 Ejemplo de expresión lambda: parámetro múltiple
// This a java method int add(int num1, int num2) { return num1 + num2; } Or (int num1, int num2) -> { return num1 + num2; }; Or (int num1, int num2) -> num1 + num2; Or // () mandatory for more than one input parameter. (num1, num2) -> num1 + num2;
5. Estudie la diferencia entre el operador &(Y bit a bit) y &&(Y lógico).
Ejemplo-5.1 :
class Test { public static void main(String[] args) { int a = 10; int b = 20; if (++a <= 10 && --b < 20) {} System.out.println("Output of && operator: " + "a = " + a + " b = " + b); System.out.println("-------------"); a = 10; b = 20; if (++a <= 10 & --b < 20) {} System.out.println("Output of & operator: " + "a = " + a + " b = " + b); } }
Output of && operator: a = 11 b = 20 ------------- Output of & operator: a = 11 b = 19
Motivo : porque el operador ‘&&’ no verifica el segundo operando si el valor del primer operando es ‘falso’. Pero ‘&’ debe verificar ambos operandos.
Nota: Este concepto definitivamente cubre de 10 a 12 preguntas en el examen OCA.
Publicación traducida automáticamente
Artículo escrito por atishaysharma640 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA