Cuestionario básico sobre Java

Bienvenido al concurso Core Java. Java es un lenguaje de programación orientado a objetos.

Cuestionario básico sobre Java

En este cuestionario, se evaluarán sus conocimientos básicos de Java y conceptos de OOPS. También hay algunos fragmentos de código para poner a prueba sus habilidades básicas de codificación en Java.

Algunas de las preguntas tienen varias respuestas. Puede hacer clic en el botón “ Revelar respuesta ” para obtener la respuesta correcta y una explicación.

Pruébalo y compártelo con otros si te gusta.

1. ¿Cuál de las siguientes es una forma válida de crear una instancia de una matriz en Java?

A. int miArray [] = {1, 3, 5};
B. int miArray [] [] = {1,2,3,4};
C. int [] miArray = (5, 4, 3);
D. int [] miArray = {“1”, “2”, “3”};

Haga clic para revelar la respuesta

Respuesta correcta: A

int [] myArray = {“1”, “2”, “3”}; no es válido porque String no se puede convertir a un int.

int [] myArray = (5, 4, 3); no es válido porque los elementos de la matriz deben definirse entre llaves ({}).

int myArray [] [] = {1,2,3,4}; no es válido porque myArray es una matriz bidimensional, mientras que en este caso se define como una matriz unidimensional. El compilador se quejará de que no hay coincidencia de tipos: no se puede convertir de int a int[].

2. ¿Cuáles de las siguientes son palabras clave reservadas en Java?

A. matriz
B. goto
C. nulo
D. int

Haga clic para revelar la respuesta

**Respuesta correcta: B, D
**
Las palabras clave gotoy intson palabras clave reservadas en Java. arrayy nullno son palabras clave en Java.

3. ¿Qué pasará si intentamos compilar y ejecutar el siguiente programa?

interface Foo{ int x = 10;}public class Test {     public static void main(String[] args) {         Foo.x = 20;         System.out.println(Foo.x);     }}

A. Imprime 10
B. Imprime 20
C. Error en tiempo de compilación
D. Error en tiempo de ejecución porque Foo.x es final.

Haga clic para revelar la respuesta

**Respuesta correcta: C
**
De manera predeterminada, cualquier campo de la interfaz es público, estático y final. Por lo tanto, no podemos cambiarlo, por lo que se produce un error en tiempo de compilación en la declaración Foo.x = 20;.

4. ¿Cuál será el resultado del siguiente programa?

public class Test {public static void main(String[] args) {char c = 65;System.out.println("c = " + c);}}

A. Error en tiempo de compilación
B. Imprime “c = A”
C. Error en tiempo de ejecución
D. Imprime “c = 65”

Haga clic para revelar la respuesta

**Respuesta correcta: B
**
El compilador de Java intenta convertir automáticamente un int en un char. Como 65 se convierte en A, la salida será “c = A”. El rango de valores de char va de u0000 a uffff. Por lo tanto, char c = 65535;es válido, pero char c = 65536;generará un error en tiempo de compilación.

5. ¿Cuál será el resultado del siguiente programa?

public class Test {     public void main(String[] args) {        int x = 10*20-20;         System.out.println(x);     }}

A. Error en tiempo de ejecución
B. Imprime 180
C. Imprime 0
D. Error en tiempo de compilación.

Haga clic para revelar la respuesta

Respuesta correcta: A

Error en tiempo de ejecución porque el método principal no es estático. El mensaje de error seráMain method is not static in class Test, please define the main method as: public static void main(String[] args)

6. ¿Cuáles son las declaraciones válidas para staticla palabra clave en Java?

A. Podemos tener un bloque estático en una clase.
B. El bloque estático en una clase se ejecuta cada vez que se crea un objeto de la clase.
C. Podemos tener implementaciones de métodos estáticos en la interfaz.
D. Podemos definir un bloque estático dentro de un método.

Haga clic para revelar la respuesta

**Respuestas correctas: A, C
**
Podemos tener un bloque estático en una clase, que se ejecuta solo una vez cuando se carga la clase. A partir de Java 8, podemos tener implementaciones de métodos estáticos en interfaces.

7. Seleccione todos los conceptos básicos de OOPS.

A. Abstracción
B. Herencia
C. Interfaz
D. Polimorfismo
E. Genéricos

Haga clic para revelar la respuesta

Respuestas correctas: A, B, D

Los conceptos básicos de OOPS son:

  1. Abstracción
  2. Encapsulación
  3. Polimorfismo
  4. Herencia
  5. Composición
  6. Asociación
  7. Agregación

Lea más en OOPS Concepts

8. ¿Cuáles de las siguientes afirmaciones son verdaderas para la herencia en Java?

A. La palabra clave “extend” se utiliza para extender una clase en Java.
B. Se pueden extender múltiples clases en Java.
C. Los miembros privados de la superclase son accesibles para la subclase.
D. No podemos extender clases Final en Java.

Haga clic para revelar la respuesta

**Respuesta correcta: D
**
La herencia es uno de los conceptos básicos de Java. Deberías estar familiarizado con él. Lee los siguientes artículos para obtener más información sobre las opciones de respuesta: Herencia en Java , Herencia múltiple en Java .

9. ¿Cuál será el resultado del siguiente programa?

package com.journaldev.java;public class Test {public static void main(String[] args) {Super s = new Subclass();s.foo();}}class Super {void foo() {System.out.println("Super");}}class Subclass extends Super {static void foo() {System.out.println("Subclass");}}

A. Error en tiempo de compilación
B. Super
C. Subclase
D. Error en tiempo de ejecución

Haga clic para revelar la respuesta

**Respuesta correcta: A
**
El método foo() de la subclase no puede ser estático, dará un error en tiempo de compilación This static method cannot hide the instance method from Super.

10. ¿Cuál será el resultado del siguiente programa?

package com.journaldev.java;public class Test {public static void main(String[] args) {Subclass s1 = new Subclass();s1.foo(); // line 6Super s = new Subclass();s.foo(); // line 8}}class Super {private void foo() {System.out.println("Super");}}class Subclass extends Super {public void foo() {System.out.println("Subclass");}}

A. Error de tiempo de compilación en la línea 6
B. Error de tiempo de compilación en la línea 8
C. Error de tiempo de compilación en las líneas 6 y 8
D. Funciona bien e imprime “Subclase” dos veces.

Haga clic para revelar la respuesta

**Respuesta correcta: B
**
Error en tiempo de compilación en la línea 8 porque el método foo() de la superclase es privado. El mensaje de error es The method foo() from the type Super is not visible.

11. ¿Cuál será el resultado del siguiente programa?

import java.io.IOException;public class Test {public static void main(String[] args) {try {throw new IOException("Hello");} catch (IOException | Exception e) {System.out.println(e.getMessage());}}}

A. Error en tiempo de compilación
B. Imprime “Hola”
C. Error en tiempo de ejecución

Haga clic para revelar la respuesta

Respuesta correcta: A

Error en tiempo de compilación como The exception IOException is already caught by the alternative Exception.

12. ¿Cuál será el resultado del siguiente programa?

public class Test {public static void main(String[] args) {String x = "abc";String y = "abc";x.concat(y);System.out.print(x);}}

A. abcabc
B. abc
C. nulo

Haga clic para revelar la respuesta

**Respuesta correcta: B
**
x.concat(y);creará una nueva cadena, pero no estará asignada a x, por lo que el valor de x no cambiará.

13. ¿Cuáles de las siguientes son excepciones no controladas en Java?

A. Excepción en tiempo de ejecución
B. Excepción de clase CastExcepción
C. Excepción de puntero nulo
D. Excepción de E/S

Haga clic para revelar la respuesta

**Respuesta correcta: A, B, C
**
RuntimeException y sus subclases son excepciones no controladas. No es necesario declarar las excepciones no controladas en la cláusula throws de un método o constructor.

14. ¿Cuál será el resultado del siguiente programa?

package com.journaldev.java;import java.io.IOException;public class Test {public static void main(String[] args) {try {throw new Exception("Hello ");} catch (Exception e) {System.out.print(e.getMessage());} catch (IOException e) {System.out.print(e.getMessage());} finally {System.out.println("World");}}}

A. Error en tiempo de compilación
B. Hola
C. Hola mundo
D. Hola Hola mundo

Haga clic para revelar la respuesta

**Respuesta correcta: A
**
Error en tiempo de compilación Unreachable catch block for IOException. It is already handled by the catch block for Exception.

15. ¿Cuáles de las siguientes afirmaciones son verdaderas para Java?

A. JVM es responsable de convertir el código Byte al código específico de la máquina.
B. Solo necesitamos JRE para ejecutar programas Java.
C. JDK es necesario para compilar programas Java.
D. JRE no contiene JVM.

Haga clic para revelar la respuesta

Respuesta correcta: A, B, C

Para obtener una explicación completa, lea JDK, JRE y JVM .

16. ¿Podemos tener dos métodos principales en una clase Java?

A. Sí
B. No

Haga clic para revelar la respuesta

Respuesta correcta: A

Esta era una pregunta complicada. Podemos tener múltiples métodos que tengan el nombre “principal” en Java mediante la sobrecarga de métodos.

17. ¿Cuáles de las siguientes afirmaciones son verdaderas sobre las anotaciones en Java?

A. La palabra clave @interface se utiliza para crear anotaciones personalizadas.
B. @Override es una anotación incorporada en Java.
C. Las anotaciones no se pueden aplicar a los campos de una clase.
D. @Retention es una de las metaanotaciones de Java.
E. La información de anotaciones de Java se pierde cuando se compila la clase.

Haga clic para revelar la respuesta

**Respuesta correcta: A, B, D
**
Para una explicación completa, lea Anotaciones de Java .

18. ¿Cuáles de las siguientes afirmaciones son verdaderas sobre Enum en Java?

A. Todas las enumeraciones de Java extienden implícitamente java.lang.Enumuna clase.
B. Las enumeraciones de Java pueden implementar interfaces.
C. Podemos crear una instancia de una enumeración utilizando el operador new.
D. Las enumeraciones no se pueden utilizar en sentencias switch.
E. Las constantes de enumeración son implícitamente estáticas y finales.

Haga clic para revelar la respuesta

**Respuesta correcta: A, B, E
**
Lea más en Enum en Java .

19. ¿Cuáles de los siguientes son cargadores de clases integrados en Java?

A. Cargador de clases de Bootstrap
B. Cargador de clases de extensiones
C. Cargador de clases de tiempo de ejecución
D. Cargador de clases del sistema

Haga clic para revelar la respuesta

Respuesta correcta: A, B, D

Lea más en Cargadores de clases en Java .

20. ¿Cuál será el resultado del siguiente programa?

package com.journaldev.util;public class Test {public static String toString() {System.out.println("Test toString called");return "";}public static void main(String args[]) {System.out.println(toString());}}

A. “Se llamó a la prueba toString”
B. Error en tiempo de compilación
C. “Prueba @7fh2bd8 ” (se está llamando al método toString() de la clase de objeto)

Haga clic para revelar la respuesta

Respuesta correcta: B

Obtendremos un error en tiempo de compilación porque no podemos anular un método de la clase Object con la palabra clave static. La clase Object tiene toString()un método. Obtendrá un error en tiempo de compilación como “Este método estático no puede ocultar el método de instancia de Object”.

21. ¿Cuál será el resultado del siguiente programa?

public class Test {public static void main(String[] args) {String s1 = "abc";String s2 = "abc";System.out.println("s1 == s2 is:" + s1 == s2);}}

A. s1 == s2 es:verdadero
B. falso
C. s1 == s2 es:falso
D. verdadero

Haga clic para revelar la respuesta

Respuesta correcta: B

La salida de la sentencia dada será “falsa” porque en Java la precedencia del operador + es mayor que la del operador ==. Por lo tanto, la expresión dada se evaluará como “s1 == s2 is:abc” == “abc”, es decir, falsa.

Conclusión

Espero que te haya gustado el cuestionario sobre Java básico. Si crees que me he olvidado de algunas áreas importantes, házmelo saber y añadiré más preguntas complicadas aquí.

Próximo cuestionario : Cuestionario sobre cadenas de Java

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio