Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 59

1.

 Determinar si esta expresión booleana se evalúa como verdadera o falsa:


!(3<4&&5>6||6<=6&&7-1==6)
Cierto
Falso (*)

2. Esta palabra reservada se utiliza para indicar que código se ejecutará


cuando el valor ingresado en una sentencia switch, no coincida con ningún
case.

switch
case
break
default (*)
Ninguna de las anteriores

3. Los seis operadores relacionales en Java son:


>,<,==,!=,<=,>= (*)
>,<,=,!=,<=,>=
>,<,=,!,<=,>=
>,<,=,!=,=<,=>

4. ¿Cómo usaría el operador ternario para reescribir la sentencia if?

if (balance < 500)


fee = 10;
else
fee = 0;
fee = ( balance < 500) ? 0 : 10;
fee = ( balance >= 500) ? 10 : 0;
fee = ( balance > 5) ? 10 : 0;
fee = ( balance >= 5) ? 0 : 10;
fee= ( balance < 500) ? 10 : 0; (*)
5. ¿Cuál de las siguientes opciones inicializa de forma correcta una instancia de la clase
Scanner llamada “in”, que leerá lo ingresado desde la pantalla de la consola?

Scanner in = new Scanner(System.in); (*)


Scanner in = new Scanner("System.in");
System.in in = new Scanner();
Scanner in = Scanner(System.in);
6. ¿Cuál de los dos diagramas a continuación ilustra la sintaxis correcta para las
variables utilizadas en la sentencia if-else (si-otro)?
ejemplo a

7. ¿Qué diferencia hay entre los símbolos = y == ?


El símbolo = se usa en sentencias if y == se usa en ciclos.
El símbolo == se usa en para asignar valores a variables; el = se usa en sentencias.
El = se usa para asignar valores a variables y el == compara valores. (*)
No hay diferencia.
8. Los tres operadores lógicos en Java son:

!=,=,==
&&,!=,=
&,|,=
&&, ||, ! (*)
9. ¿Cuál de los siguientes inicializa correctamente un ciclo for que se ejecuta 5 veces?
for(int i = 0; i < 5; I++)
for(int i = 0; i == 6; i++)
for(int i = 1; i < 5; I++)
for(int i = 1; i < 6; i++) (*)
10. En el fragmento de código a continuación, la sintaxis para la inicialización del ciclo es
correcta. ¿Verdadero o falso?

public class ForLoop {


public static void main (String args[])
{
for ((int 1=10) (i<20) (i++))
{System.out.Println ("i: "+i); }
}
}

Cierto
Falso (*)

11. ¿Cuál es la diferencia significativa entre un ciclo while y un ciclo do-while?


Un ciclo DO-WHILE siempre ejecutará el código al menos una vez, incluso si la
sentencia condicional para el WHILE nunca es verdadera. Un ciclo WHILE sólo
se ejecuta si la sentencia condicional es verdadera. (*)

12. ¿Cuál de los siguientes es verdadero sobre un ciclo do-while?


Es un ciclo posterior a la prueba.
Es un ciclo while modificado que permite al programa ejecutarse a través del ciclo antes de
evaluar la condición booleana.
Continúa realizando un ciclo hasta que la condición se vuelva falsa.
Todas las anteriores. (*)

13. Todos los siguientes son esenciales para iniciar un ciclo for, ¿excepto cuál?
Tener una sentencia condicional.
Inicializar el iterador(i).
Actualizar el contador.
Tener una sentencia if (si). (*)
14. En un ciclo for, el contador se incrementa automáticamente después de cada iteración
de ciclo. ¿Verdadero o falso?
Cierto
Falso (*)

15. ¿Cuál de los siguientes son tipos de ciclos en Java?


(Elija todas las respuestas correctas)

while (*)
if/else
do-while (*)
for (*)

En una construcción, la condición a ser evaluada debe estar incluida entre paréntesis.
¿Verdadero o falso?
Cierto (*)
Falso
2. ¿Qué se imprimirá si el siguiente código de Java se ejecuta?

if ((5.1 > 4.3 && 6.2 < 8.4) && !(7.2 < 3.5 || 1.2 == 2.1 || 2.2 != 2.25))
System.out.print("TRUE"); else
System.out.print("FALSE");

Cierto
Falso (*)

3. Determinar si esta expresión booleana se evalúa como verdadera o falsa:


!(3<4&&5>6||6<=6&&7-1==6)
Cierto
Falso (*)
4. ¿Cuál de los siguientes son operadores relacionales en Java?
(Elija todas las respuestas correctas)

< (*)
<= (*)
=
!= (*)
Todos los anteriores.

5. Los tres operadores lógicos en Java son:


!=,=,==
&&, ||, ! (*)
&&,!=,=
&,|,=

6. ¿Qué diferencia hay entre los símbolos = y == ?


El símbolo = se usa en sentencias if y == se usa en ciclos.
El símbolo == se usa en para asignar valores a variables; el = se usa en
sentencias.
El = se usa para asignar valores a variables y el == compara valores. (*)
No hay diferencia.

7. Determinar si esta expresión booleana evalúa como verdadera o falsa:

!(3<4&&6>6||6<=6&&7-2==6)
Cierto (*)
Falso

8. El siguiente fragmento de código implementa de manera apropiada la sentencia switch.


¿Verdadero o falso?

default(input)
switch '+':
answer+=num;
break;
case '-':
answer-=num;
break;
!default
System.out.println("Invalid input");
Cierto
Falso (*)

9. ¿Qué debería reemplazar el comentario "//your answer here" (ingrese su


respuesta aquí) en el código a continuación, si el código está pensado para no
tomar medidas cuando i % 2 es 0 (en otras palabras cuando i es par)?

for(int i = 0; i < 10; i++){


if(i%2 == 0)
//your answer here
else
k+=3;
}
k+=1;
continue; (*)
break;
return;

10. Todos los siguientes son esenciales para iniciar un ciclo for, ¿excepto cuál?
Actualizar el contador.
Inicializar el iterador(i).
Tener una sentencia if (si). (*)
Tener una sentencia condicional.
11. ¿Cuál de las siguientes definiciones describe mejor un ciclo while?
Un ciclo que contiene un contador entre paréntesis con la sentencia
condicional.
Un ciclo que ejecuta el código al menos una vez incluso si la sentencia
condicional es falsa.
Un ciclo que contiene un segmento de código que se ejecuta antes de que la
sentencia condicional se pruebe.
Un ciclo que se ejecuta repetidamente hasta que la sentencia condicional es
falsa. (*)

12. ¿Cuántas veces se ejecutará el siguiente ciclo?


¿Cuál es el valor de x después de que el ciclo ha finalizado?
¿Cuál es el valor del contador después de que el ciclo ha finalizado?

int count = 17;


int x = 1;
while(count > x){
x*=3;
count-=3;
}
5; 30; 5
5; 27; 8
4; 8; 27
3; 9; 11
3; 27; 8 (*)

13. Un contador utilizado en un ciclo for no puede inicializarse dentro de la sentencia de


ciclo For. ¿Verdadero o falso?
Cierto
Falso (*)
14. ¿Por qué los ciclos son útiles?
Les ahorran a los programadores tener que reescribir el código.
Permiten repetir el código una cantidad variable de veces.
Permiten repetir el código hasta que se cumpla determinado argumento.
Todas las anteriores. (*)

15. Identificar qué situación sería un ejemplo de un ciclo while.


Tomar monedas de una pila una por vez y sumar su valor al total hasta que no haya más
monedas en la pila para agregar.
Asistir a clase mientras la escuela no termina durante el día.
Acariciar a cada animal en la tienda de mascotas uno por vez hasta que todos los animales
hayan sido acariciados.
Todas las anteriores. (*)

3. Un contador utilizado en un ciclo for no se puede iniciar dentro del encabezado del ciclo
for. ¿Verdadero o falso?
Cierto
Falso (*)
4. Actualizar el ingreso de un ciclo le permite implementar el código con el siguiente
elemento en lugar de repetir el código siempre con el mismo elemento. ¿Verdadero o falso?

Cierto (*)
Falso

5. Cuando la sentencia de condición del ciclo for se cumple, se sale del ciclo. ¿Verdadero o
falso?

Cierto
Falso (*)
6. ¿Qué es un ciclo?

Se utiliza una palabra clave para saltear el código restante.


Un conjunto de lógicas que se ejecutan repetidamente hasta que determinada condición se
cumple. (*)
Un segmento de código que puede sólo ser ejecutado una vez por invocación del programa.

Ninguna de las anteriores.


10. ¿Cuál de las siguientes podría ser la razón para usar una sentencia ""switch" en un
programa Java?

Porque permite al programa ejecutar determinados segmentos del código y


negarse a ejecutar otros según el aporte otorgado. (*)
Porque permite que el código se ejecute hasta que determinada sentencia
condicional sea verdadera.
Porque termina el ciclo actual.
Porque permite al usuario ingresar datos en la pantalla de la consola e
imprime un mensaje que indica que el ingreso del usuario se leyó
exitosamente.

9. El siguiente fragmento de código implementa de manera apropiada la sentencia switch.


¿Verdadero o falso?

default(input)
switch '+':
answer+=num;
break;
case '-':
answer-=num;
break;
!default
System.out.println("Invalid input");
Cierto
Falso (*)

11. En una construcción if-else, la condición a ser evaluada debe estar incluida entre
paréntesis. ¿Verdadero o falso?
Cierto (*)
Falso

12. Las sentencias switch funcionan con todos los tipos de ingresos, pero no se
limitan a int, char y Cadena. ¿Verdadero o falso?
Cierto
Falso (*)

15. Determinar si esta expresión booleana evalúa como verdadera o falsa:

!(3<4&&6>6||6<=6&&7-2==6)
Cierto (*)
Falso

1. Se produce un error de lógica si se coloca involuntariamente un punto y coma al final de


la inicialización de un ciclo porque el intérprete lo lee como la única línea dentro del ciclo,
una línea que no hace nada. Se interpreta que todo lo que sigue al punto y coma es código
ajeno al ciclo.¿Verdadero o falso?
Cierto (*)
Falso
2. Supongamos que usted está escribiendo un programa en el que se le pide al
usuario que indique las coordenadas en las que cree que se encuentra la
princesa dentro del castillo.

El programa desplaza al príncipe a las coordenadas que especificó el usuario.


Si la princesa no se encuentra en esas coordenadas, se le da una pista al
usuario para ayudarlo a acercarse a la princesa. El usuario puede indicar
nuevamente dónde cree que se halla la princesa.

De no considerar su programa la posibilidad de que el usuario ingrese


coordenadas fuera del castillo, donde no podría estar la princesa, ¿que
sucedería si el usuario ingresa dichas coordenadas?; ¿cómo podría manejarse
esta situación en su código?
(Elija todas las respuestas correctas)
Se produciría una excepción. Podría manejarse lanzando una excepción en su
código en caso de que el usuario ingrese coordenadas inválidas. Una vez
atrapada la excepción, podría pedírsele al usuario que ingrese coordenadas
que se encuentren dentro del rango correspondiente al castillo. (*)
Se produciría un error. Los errores no pueden manejarse mediante código.
Se produciría una excepción. Podría manejarse lanzando la excepción en su
código en caso de que el usuario ingrese coordenadas inválidas. Cuando se
atrapa la excepción, el príncipe se mueve a las coordenadas más cercanas a las
que indicó el usuario, dentro del castillo. (*)
Se produciría una excepción, pero no podría manejarse con el código. El
usuario tendría que reiniciar el programa e ingresar coordenadas válidas.
3. ¿Cuál de las siguientes es la definición correcta de “excepción”?
Problema que puede ser corregido o manejado por el código. (*)
Intérprete que lee el código.
Código que no presenta errores y que, por lo tanto, funciona perfectamente.

Problema muy grave y sin arreglo que se produce al interpretar y ejecutar el


código.

4. Qué indican las excepciones en Java?


(Elija todas las respuestas correctas)

El código no se escribió para contemplar todas las condiciones posibles. (*)


No hay errores en el código.
Hubo una equivocación en el código. (*)
El código ha considerado y tratado todos los casos posibles.
Las excepciones no indican nada; su única función es ser lanzadas.

5. Elija la mejor respuesta ante esta afirmación: Un error puede manejarse


mediante su lanzamiento y captura, igual que una excepción.
Verdadero. Aunque puede que los errores sean más graves que las
excepciones, pueden manejarse mediante código de la misma manera que las
excepciones.
Verdadero. Los errores y las excepciones son el mismo objeto y son
intercambiables.
Falso. Un error es mucho más grave que una excepción y no puede manejarse
adecuadamente en un programa. (*)
Falso. Las excepciones son producidas por una equivocación en el código,
mientras que los errores no ocurren por ningún motivo en particular y, por
ende, no pueden manejarse ni evitarse.

6. ¿Cuál es el resultado del siguiente segmento de código si los argumentos de


la línea de comando son "manzanas naranjas peras"?
3

7. ¿Cuál de los siguientes declara e inicializa un arreglo unidimensional llamado values, de


tamaño 5, y que todos sus valores contengan 1?

int values[]={1,1,1,1,1,1};
int values={1,1,1,1,1};
int[] values={1,1,1,1,1}; (*)
int[] values={1};

8. ¿Cuál de los siguientes declara e inicializa un arreglo bidimensional?

int[][] array={1,1,1,1,1,1,1,1,1};
int[] array={{1,1,1},{1,1,1},{1,1,1}};
int[][] array={1,1,1},{1,1,1},{1,1,1};
int[][] array={{1,1,1},{1,1,1},{1,1,1}}; (*)

9. El siguiente segmento de código inicia un arreglo bidimensional de referencias.


¿Verdadero o falso?

String[][] array={{"a", "b", "C"},{"a", "b", "c"}};


Cierto (*)
Falso
¿Cuál es el resultado del siguiente segmento de código si los argumentos de línea de
comando son "a b c d e f"?

1. Lo siguiente crea una referencia en memoria llamada "z" que puede referenciar a siete
diferentes datos de tipo double a través de un índice. ¿Verdadero o falso?  

double z[] = new double[7];

Cierto (*)
Falso
12. ¿Qué contendrá el arreglo arr después de que el siguiente segmento de código sea
ejecutado? 

int [] arr = {5, 4, 2, 1, 0};


for (int i = 1; i < arr.length; i++)
{
arr[i - 1] += arr[i];
}

Ninguna de las anteriores.


9, 6, 1, 3, 0
7, 3, 2, 1, 0
10, 6, 3, 1, 0
9, 6, 3, 1, 0 (*)
3. ¿Cuál es el resultado del siguiente segmento de código si los argumentos de línea
de comando son "a b c d e f g"?

14. La siguiente declaración de allegro es válida. ¿Verdadero o falso?

int[] y = new int[5];


Cierto (*)
Falso

15. ¿Cuál es el resultado del siguiente segmento de código?

77777777777
1. El siguiente segmento de código inicia un arreglo bidimensional de referencias.
¿Verdadero o falso?

String[][] array={{"a", "b", "C"},{"a", "b", "c"}};


Cierto (*)
Falso
2. ¿Qué contendrá el arreglo arr después de que el siguiente segmento de código sea
ejecutado? 

int [] arr = {5, 4, 2, 1, 0};


for (int i = 1; i < arr.length; i++)
{
arr[i - 1] += arr[i];
}

Ninguna de las anteriores.


10, 6, 3, 1, 0
7, 3, 2, 1, 0
9, 6, 1, 3, 0
9, 6, 3, 1, 0 (*)
3. Después de la ejecución de la siguiente sentencia, ¿cuáles de las siguientes son
verdaderas?

int number[] = new int[5];

el número[4] es nulo
el número[2] es 0 (*)
number.length() is 6
el número[0] es indefinido
4. La siguiente declaración de allegro es válida. ¿Verdadero o falso?

int[] y = new int[5];

Cierto (*)
Falso
5. ¿Cuál sería el contenido de una tabla variable de allegro después de ejecutar el
siguiente código?
100
110
1 1 1 (*)
100
010
001
111
011
001
001
010

100
6. ¿Cuál de los siguientes declara un arreglo unidimensional llamado names, de tamaño 8,
que pueda contener objetos de tipo String?

String[] name=String[8];
String[] name=new Strings[8];
String[] names=new String[8]; (*)
String names=new String[8];
7. ¿Cuál sería el contenido del arreglo llamado table después de ejecutar el siguiente
código?

(Elija todas las respuestas correctas)

número int;
counter int[];
double[] marks; (*)
float average[]; (*)
8. double array[] = new double[8];

Después de la ejecución de esta sentencia, ¿cuál de los siguientes es


verdadero?
array.length es 8 (*)
array[4] es null
array[2] es 8
array[0] no esta definido
9. ¿Cuál de las siguientes sentencias imprime cada elemento del arreglo
unidimensional llamado prices en pantalla?

for(int i=0; i < prices.length; i++){System.out.println(prices[i]);} (*)


for(int i=0; i <= prices.length; i++){System.out.println(prices[i]);}
System.out.println(prices.length);
for(int i=1; i <= prices.length; i++){System.out.println(prices[i]);}
10. ¿Cuál de los siguientes declara e inicializa un arreglo unidimensional llamado values,
de tamaño 5, y que todos sus valores contengan 1?

int[] values={1};
int values[]={1,1,1,1,1,1};
int values={1,1,1,1,1};
int[] values={1,1,1,1,1}; (*)
11. ¿Cuál de los siguientes puede ser motivo para lanzar una excepción?

Para eliminar excepciones que afecten el funcionamiento del programa. (*)


Se produce un error de desbordamiento de pila.
Para dificultar la navegación de la interfaz de usuario.
Se produce un error fatal en el programa.
12. Si un método lanza una excepción, ¿dónde puede atraparse dicha
excepción?
En este caso, no es necesario atraparla.
Puede atraparse en el método que lanzó la excepción o en cualquier otro
método que haya invocado al método que la lanzó. (*)
Debe atraparse no bien es lanzada.
Debe atraparse en el método que lanzó la excepción
13. ¿En cuál de los siguientes casos se produciría una excepción de tipo "array
index out of bounds exception"?

Colocar un punto y coma involuntariamente tras la inicialización de un ciclo.

Emplear un único signo de igual para comparar el valor de dos números


enteros.
Referirse a un elemento de un arreglo que se encuentra en un índice mayor a
la longitud de el arreglo menos uno. (*)
Referirse a un elemento de un arreglo que se encuentra en un índice menor a
la longitud de el arreglo menos uno.
Escribir mal el nombre de una variable en alguna parte del código.
14. ¿Cuál es el problema de este código?

No maneja la excepción. (*)
No tiene ningún problema.
Produce una excepción “fuera de límites”.
Le falta un punto y coma.
15. Es posible lanzar y atrapar una excepción dentro del bloque catch de un código.
¿Verdadero o falso?
Cierto (*)
Falso

1. Lo siguiente crea una referencia en la memoria llamada "q" que puede referenciar a seis
números enteros diferentes a través de un índice. ¿Verdadero o falso?

int[] q = new int[8];


 

Cierto
Falso (*)
2. ¿Cuál de los siguientes declara un arreglo unidimensional llamada "score", de tipo de
dato int, que puede alojar 9 valores?

int score;
int[] score;
int score=new int[9];
int[] score=new int[9]; (*)
3. El siguiente segmento de código imprime todos los cinco argumentos de línea de
comando ingresados en este programa. ¿Verdadero o falso?
falso
4. ¿Cuál de los siguientes declara e inicia un allegro bidimensional llamada
valores con 2 filas y 3 columnas en donde cada elemento es una referencia a
un Objeto?
String[][] values;
String[][] values=new String[3][2];
String[][] values=new String[2][3]; (*)
String[][] values={"man
5. ¿Cuál de las siguientes sentencias agrega 5 a cada elemento de precios de allegro
unidimensional y luego se imprime en la pantalla?
for(int i=1;i
 System.out.println(prices[i]+5);
for(int i=0;i
 System.out.println(prices[1]+5);
for(int i=0;i
 System.out.println(prices[i]+5); (*)
System.out.println(prices[i]+5);
6. ¿Cuál de los siguientes declara e inicializa un arreglo unidimensional llamado values, de
tamaño 5, y que todos sus valores contengan 1?

int values={1,1,1,1,1};
int values[]={1,1,1,1,1,1};
int[] values={1,1,1,1,1}; (*)
int[] values={1};
7. ¿Cuál de los siguientes declara e inicializa un arreglo unidimensional llamado words, de
tamaño 10, que pueda contener objetos de tipo String?

String s=new String("s");


char words=new char[10];
String[] words=new String[10]; (*)
char[] words=new char[10];
¿Cuál es el resultado del siguiente segmento de código si los argumentos de la línea
de comando son "manzanas naranjas peras"?

peras
9. La siguiente declaración de allegro es válida. ¿Verdadero o falso?

int x[] = int[10];


Cierto
Falso (*)
10. ¿Cuál es el resultado del siguiente segmento de código si los argumentos de la
línea de comando son "manzanas naranjas peras"?

11. Elija la mejor respuesta ante esta afirmación: Un error puede manejarse


mediante su lanzamiento y captura, igual que una excepción.
Falso. Las excepciones son producidas por una equivocación en el código,
mientras que los errores no ocurren por ningún motivo en particular y, por
ende, no pueden manejarse ni evitarse.
Verdadero. Aunque puede que los errores sean más graves que las
excepciones, pueden manejarse mediante código de la misma manera que las
excepciones.
Verdadero. Los errores y las excepciones son el mismo objeto y son
intercambiables.
Falso. Un error es mucho más grave que una excepción y no puede manejarse
adecuadamente en un programa. (*)

2. ¿Qué línea de código muestra la manera correcta de lanzar una excepción?


throws new Exception("Array index is out of bounds");
throw Exception("Array index is out of bounds");
new throw Exception("Array index is out of bounds");
throw new Exception("Array index is out of bounds"); (*)
Es posible lanzar y atrapar una excepción dentro del bloque catch de un código. ¿Verdadero
o falso?
Cierto (*)
Falso
4. ¿Cuál de las siguientes opciones indica la función correcta del símbolo?
(Elija todas las respuestas correctas)
== (dos signos de igual) compara la ubicación de objetos no primitivos en la
memoria. (*)
== (dos signos de igual) compara los valores de objetos no primitivos.
== (dos signos de igual) compara los valores de tipos primitivos, como int o
char. (*)
= (un único signo de igual) compara el valor de tipos primitivos, como int o
char.
.equals () compara el valor de objetos no primitivos. (*)
5. ¿Cuál de las siguientes es la definición correcta de “excepción”?
Código que no presenta errores y que, por lo tanto, funciona perfectamente.

Problema muy grave y sin arreglo que se produce al interpretar y ejecutar el


código.
Intérprete que lee el código.
Problema que puede ser corregido o manejado por el código. (*)
¿Cuál es el resultado del siguiente segmento de código?

11 (*)
1111
321111
111
Este código no se compila.
¿Cuál es el resultado del siguiente segmento de código

666666666666

. La siguiente declaración de allegro es válida. ¿Verdadero o falso?

int k[] = new int[10];


Cierto (*)
Falso
¿Cuál es el resultado del siguiente segmento de código si los argumentos de línea de
comando son "a b c d e f"?

¿Cuál de las siguientes sentencias es una declaración de arreglo válida?

(Elija todas las respuestas correctas)


double[] marks; (*)
counter int[];
número int;
float average[]; (*)
Cuál es el resultado del siguiente segmento de código si los argumentos de la
línea de comando son "manzanas naranjas peras"?

Peras

¿Cuál sería el contenido del arreglo llamado table después de ejecutar el


siguiente código?

100

010

001

¿Cuál de los siguientes declara e inicializa un arreglo unidimensional que puede alojar 5
tipos de referencias de Objetos?

String[] array=new String[5];


Object[] array=new Object[4];
String[] array=String[4];
Object array=new Object[5]; (*)
 ¿Cuál de las siguientes sentencias no es una declaración de arreglo válida?

float []averages;
counter int[]; (*)
int number[];
double marks[5];
¿Cuál de los siguientes sentencia e inicia un allegro bidimensional con 3 filas y 2
columnas?

int a={{1,1},{1,1},{1,1}};
int[][] a={{1,1,1},{1,1,1}};
int[][] a={{1,1},{1,1},{1,1}}; (*)
int a={{1,1,1},{1,1,1}};
Elija la mejor respuesta ante esta afirmación: Un error puede manejarse
mediante su lanzamiento y captura, igual que una excepción.

Falso. Las excepciones son producidas por una equivocación en el código,


mientras que los errores no ocurren por ningún motivo en particular y, por
ende, no pueden manejarse ni evitarse.
Verdadero. Los errores y las excepciones son el mismo objeto y son
intercambiables.
Falso. Un error es mucho más grave que una excepción y no puede manejarse
adecuadamente en un programa. (*)
Verdadero. Aunque puede que los errores sean más graves que las
excepciones, pueden manejarse mediante código de la misma manera que las
excepciones.
¿Cuáles de las siguientes serían maneras correctas de manejar una excepción
de tipo: “index out of bounds"?

(Elija todas las respuestas correctas)


Reescribir el código para evitar la excepción no permitiendo que se utilice un
índice que no se encuentre dentro de el arreglo. (*)
No hacer nada; se arreglará sola.
Lanzar la excepción y atraparla. Al atraparla, cambiar el índice por el índice de
el arreglo que más se aproxime al que excedió los límites. (*)
Lanzar la excepción que genera el mensaje de error. No hay necesidad de
atrapar la excepción para manejarla si ya se ha lanzado
¿Cuál es el problema de este código?

No maneja la excepción

¿Qué busca el intérprete cuando se lanza una excepción?


No busca nada. Sólo sigue leyendo el código.
No busca nada. Deja de interpretar el código.
Una sentencia catch (de captura) en el código. (*)
El final del código.
Supongamos que escribe mal el nombre de un método al invocarlo en su
programa. ¿Cuál de las siguientes opciones explica por qué se produce una
excepción?

No se produce una excepción, sino que ocurre un error cuando se compila el


programa. (*)
Porque no se respetaron los parámetros del método.
Porque el intérprete intenta leer el método, pero cuando encuentra el método
que se deseaba utilizar, falla.
Porque el intérprete no rec
Los métodos estáticos pueden escribir en variables de instancia. ¿Verdadero o falso?
Cierto
Falso (*)
Las clases estáticas pueden existir como clases internas. ¿Verdadero o falso?

Cierto (*)
Falso
¿Cuál de los siguientes modificadores de acceso no funciona con una variable estática?

private
default
protected
public
friendly (*)
Qué es una jerarquía?

Palabra clave que les permite a las subclases acceder a los métodos, datos y
constructores correspondientes a la clase principal.
Estructura que categoriza y organiza relaciones entre ideas y conceptos de
cosas colocando los más generales en la parte superior y los más específicos
en la parte inferior. (*)
Filosofía de programación que promueve una codificación más eficiente y
sencilla mediante el uso del código existente para las nuevas aplicaciones.
Filosofía de programación que promueve la protección de los datos y el
ocultamiento de la implementación a efectos de preservar la integridad de los
datos y los métodos.
Por lo general, los métodos se declaran como “public” para que puedan utilizarlos otras
clases. ¿Verdadero o falso?
Cierto (*)
Falso
En cuál de los siguientes casos se describe correctamente el uso de la palabra
clave “super”?

Palabra clave que restringe el acceso únicamente a los miembros de la misma


clase.
Palabra clave que les permite a las subclases acceder a los métodos, datos y
constructores correspondientes a la clase principal. (*)
Palabra clave que permite el acceso desde donde sea.
Palabra clave que indica el final de un programa.

¿Cuál de los siguientes enunciados sobre los métodos abstractos es


verdadero?
(Elija todas las respuestas correctas)

Pueden incluir implementación.


No pueden tener un cuerpo de método. (*)
Deben declararse en una clase abstracta.
Deben estar sobrecargados.
Deben sobrescribirse 
¿Qué le permite a Java determinar de manera correcta y automática qué método invocar
según el tipo de objeto al que se hace referencia al momento de llamar al método?
Clases abstractas
Herencia
Polimorfismo
Enlace dinámico (*)
¿Cuál de los siguientes enunciados sobre una clase abstracta es verdadero?
(Elija todas las respuestas correctas)

La Java Virtual Machine no diferencia entre clases abstractas y concretas.


Se la identifica por la palabra clave de Java "abstract".
Es posible crear objetos de este tipo.
Es posible crear referencias de este tipo. (*)
Cuál de los siguientes puede ser motivo para devolver un objeto?
Porque se desea poder utilizar ese objeto dentro del método.
Es más rápido que devolver un tipo primitivo.
El método realiza modificaciones en el objeto, y se desea seguir utilizando el
objeto actualizado fuera del método. (*)
Ninguno de las anteriores. No es posible devolver un objeto.
¿Cuál de los siguientes podría ser motivo para necesitar pasar un objeto a un método?
Mayor facilidad de acceso a la información contenida en el objeto.
Posibilidad de realizar modificaciones en un objeto dentro del método.
Comparación de dos objetos.
Todos los anteriores. (*)
La unidad básica de encapsulamiento en Java es la/el:

método
clase (*)
paquete
classpath
Complete la oración. Un constructor…

debe tener el mismo nombre que la clase en que se lo declara.


se utiliza para crear objetos.
puede ser declarado público.
es todo lo anterior. (*)
¿Cuál de las siguientes afirmaciones sobre el código que figura a continuación
es verdadera?

Car car1=new Car();


Car car2=new Car();
car2=car1;

(Elija todas las respuestas correctas)

No hay más objetos Car en la memoria.


Hay un objeto Car al que hacía referencia car2 y que será eliminado por el
recolector de basura.
La referencia car2 corresponde a una copia exacta del objeto Car al que hace
referencia car1. (*)
Hay un objeto Car al que hacía referencia car1 y que será eliminado por el
recolector de basura.
Las referencias car1 y car2 corresponden a dos objetos Car en la memoria.
Qué segmento de código define correctamente un método que contenga dos
objetos de la clase Tree como parámetros?
void bloom(Tree pine, Tree oak) {//código aquí } (*)
Tree bloom (pine, oak) {//código aquí }
void bloom, Tree pine, Tree oak {//código aquí }
Ninguno de los anteriores; los objetos no pueden pasarse como parámetros.
 ¿Cuál de las siguientes es la definición de “constructor”?
Palabra clave que especifica la accesibilidad del código.
Método especial empleado para asignar valores iniciales a las variables de
instancia en una clase. (*)
Forma de invocar un método con una cantidad variable de argumentos por
medio de una elipse.
Variable de una declaración de método que se pasa al método.
Es posible sobrecargar un método que no sea constructor. ¿Verdadero o falso?
True (*)
False
Qué es una jerarquía?

Palabra clave que les permite a las subclases acceder a los métodos, datos y
constructores correspondientes a la clase principal.
Estructura que categoriza y organiza relaciones entre ideas y conceptos de
cosas colocando los más generales en la parte superior y los más específicos
en la parte inferior. (*)
Filosofía de programación que promueve una codificación más eficiente y
sencilla mediante el uso del código existente para las nuevas aplicaciones.
Filosofía de programación que promueve la protección de los datos y el
ocultamiento de la implementación a efectos de preservar la integridad de los
datos y los métodos.
¿Qué es el encapsulamiento?
Filosofía de programación que promueve la protección de los datos y el
ocultamiento de la implementación a efectos de preservar la integridad de los
datos y los métodos. (*)
Filosofía de programación que promueve una codificación más eficiente y
sencilla mediante el uso del código existente para las nuevas aplicaciones.
Palabra clave que permite o restringe el acceso a datos y métodos.
Estructura que categoriza y organiza relaciones entre ideas, conceptos de
cosas colocando los más generales en la parte superior y los más específicos
en la parte inferior.
¿Cuál de las siguientes es la descripción más acertada de la filosofía de
reutilización del código?
Filosofía de programación que propone robar el código de los compañeros de
clase.
Filosofía de programación que promueve la protección de los datos y el
ocultamiento de la implementación a efectos de preservar la integridad de los
datos y los métodos.
Filosofía de programación que propone no preocuparse por la seguridad del
código.
Filosofía de programación que promueve una codificación más eficiente y
sencilla mediante el uso del código existente para las nuevas aplicaciones. (*)
En Java, se denomina recolección de basura al hecho de liberar automáticamente la
memoria utilizada por un objeto cuando no queda ninguna referencia a dicho objeto.
¿Verdadero o falso?
Cierto (*)
Falso
Cuál será el valor de retorno de j cuando se invoque el método setValue?

11 (*)
31
10
32
Los nombres de las variables de instancia sólo pueden contener letras y dígitos. ¿Verdadero
o falso?

Cierto
Falso (*)
Las clases estáticas pueden extender la clase principal. ¿Verdadero o falso?

Cierto (*)
Falso
Las clases estáticas están diseñadas como instancias de clase thread-safe (con seguridad de
hilos). ¿Verdadero o falso?
Cierto
Falso (*)
La palabra clave “final” hace que una variable estática se comporte como una constante.
¿Verdadero o falso?

Cierto (*)
Falso
onsidere el siguiente método de la clase Test (prueba):

public static List returnList(List list)


{
return list;
}

¿Cuál de los siguientes segmentos de programa de la clase cliente de Test no presentará


errores de compilación?

I. List nums = new ArrayList();


nums = Test.returnList(nums);
II. ArrayList nums = new ArrayList();
nums = Test.returnList(nums);
III. ArrayList nums1 = new ArrayList();
List nums2 = Test.returnList(nums1);

Sólo I
I y III (*)
Sólo II
II y III
I, II, y III
Una clase abstracta no puede extender otra clase abstracta. ¿Verdadero o falso?

Cierto
Falso (*)
¿Sería correcto este código si Dog (perro) es una HousePet (mascota)? ¿Por qué
sí o por qué no?

HousePet Scooby = new Dog();


Sí, porque es una clase abstracta.
Sí, porque lo permite el polimorfismo dado que Dog es una subclase de
HousePet. (*)
Quizás. No hay manera de saberlo sin ver los métodos de Dog y los de
HousePet.
No, porque ref debe declararse como HousePet o Dog, pero no ambas.
Los métodos estáticos pueden leer variables estáticas. ¿Verdadero o falso?
Cierto (*)
Falso
Las clases estáticas están diseñadas como instancias de clase thread-safe (con
seguridad de hilos). ¿Verdadero o falso?

Cierto
Falso (*)
Cualquier instancia de la misma clase puede asignar un nuevo valor a una variable estática.
¿Verdadero o falso?
Cierto (*)
Falso
¿En cuál de los siguientes casos se describe correctamente una relación “is-a”
(“es un”)?

Filosofía de programación que promueve la protección de los datos y el


ocultamiento de la implementación a efectos de preservar la integridad de los
datos y los métodos.
Filosofía de programación que promueve una codificación más eficiente y
sencilla mediante el uso del código existente para las nuevas aplicaciones.
Término útil que sirve para conceptualizar las relaciones que existen entre los
nodos u hojas en una jerarquía de herencia. (*)
Restringe el acceso a un segmento especificado del código.
En cuál de los siguientes casos se describe correctamente el uso de la palabra
clave “super”?
Palabra clave que les permite a las subclases acceder a los métodos, datos y
constructores correspondientes a la clase principal. (*)
Palabra clave que restringe el acceso únicamente a los miembros de la misma
clase.
Palabra clave que permite el acceso desde donde sea.
Palabra clave 

¿En cuál de los siguientes casos se crea una clase denominada Diver (buzo) con
un constructor, y 2 variables de instancia, maxDepth (profundidad máxima) y certified
(certificado)?

Public class Diver{

Boolean certified;

Diver()[

Float maxdepth=0;

Certified=true;

 Cuál de las siguientes opciones puede formar parte de la definición de una clase?
variables de instancia
métodos de instancia
constructores
comentarios
todas las anteriores (*)
La siguiente sentencia compila y ejecuta. ¿Qué información se tiene por cierta?

tree.grows(numFeet);

grows debe ser el nombre de un campo de instancia.


grows debe ser el nombre de un método. (*)
numFeet debe ser un int (número entero).
tree debe ser un método.
tree debe ser el nombre de la clase.
 ¿Qué tipo o tipos funcionarían en el caso de un método con argumentos
variables?
(Elija todas las respuestas correctas)

Integers (números enteros), Strings (cadenas), y Booleans (booleanos) (*)


Constructores
Arrays (arreglas) (*)
Objetos (*)
Todos los anteriores
 Es posible que un método devuelva un objeto. ¿Verdadero o falso?
Cierto (*)
Falso
¿Qué segmento de código representa la manera correcta de definir un método
con argumentos variables?

String easyArray(… String elems) {//code}


Integer easyArray … (int elems) {//code}
String … easyArray(String elems) {//code}
String easyArray(String … elems) {//code} (*)
 Identifique el o los pasos que implica crear un Applet de Triángulos que
muestre dos triángulos.
(Elija todas las respuestas correctas)

Dibujar el segundo triángulo utilizando el método “fillPolygon” heredado.


Extender la clase Applet para que herede todos los métodos, incluido
“paint”. (*)
Ejecutar y compilar el código.
Sobrescribir el método “paint” para que se incluyan los triángulos.
Dibujar el triángulo utilizando el método “fillPolygon” heredado.
Si una clase abstracta no tiene implementados constructores o métodos, debe ser
implementada como interfaz. ¿Verdadero o falso?
Cierto (*)
Falso
Es posible sobrescribir métodos como equals() y toString() en la subclase de un objeto de
ser necesario para los objetos de dicha subclase. ¿Verdadero o falso?
Cierto (*)
Falso
En cuál de los siguientes casos se invoca correctamente el método calculate?

ThisClass t=new ThisClass(); int x=t.calculate();


int x=calculate(3,4);
ThisClass t=new ThisClass(); int x=t.calculate(3,4); (*)
ThisClass t=new ThisClass(); int x=t.calculate(3);
a unidad básica de encapsulamiento en Java es la/el:
método
paquete
clase (*)
classpath
Cuál de las siguientes opciones puede formar parte de la definición de una clase?
variables de instancia
métodos de instancia
constructores
comentarios
todas las anteriores (*)
Si una clase es inmutable, ha de ser abstracta. ¿Verdadero o falso?

Cierto
Falso (*)
Si es posible ser heredero de una clase abstracta, ¿qué debe hacerse para evitar que ocurra
un error de compilador?
(Elija todas las respuestas correctas)

Declarar abstracta la clase secundaria.


Sobrescribir todos los métodos abstractos de la clase principal. (*)
No es posible ser heredero de una clase abstracta.
Crear todas variables y métodos nuevos, distintos de los de la clase principal.

Cuál de los siguientes elementos puede declararse como "final"?


Clases
Métodos
Variables locales
Parámetros de métodos
Todos los anteriores (*)
Por qué las jerarquías son útiles para la herencia?

Permiten saber en qué parte del programa se encuentra uno.


Le impiden a una superclase tener más de una subclase.
Se emplean para organizar la relación entre una superclase y sus respectivas
subclases. (*)
Simplifican la organización de los constructores y métodos.
Cuál de las siguientes es la descripción más acertada de la filosofía de
reutilización del código?
Filosofía de programación que promueve la protección de los datos y el
ocultamiento de la implementación a efectos de preservar la integridad de los
datos y los métodos.
Filosofía de programación que propone robar el código de los compañeros de
clase.
Filosofía de programación que propone no preocuparse por la seguridad del
código.
Filosofía de programación que promueve una codificación más eficiente y
sencilla mediante el uso del código existente para las nuevas aplicaciones. (*)
¿Dónde debe invocarse al constructor de una superclase?
En la primera línea del constructor de la subclase (*)
No necesita invocarse al constructor “super” en la subclase.
En cualquier parte, dentro de la subclase.
En la última línea del constructor de la subclase.
En el método “main” de la subclase.
Pueden crearse clases estáticas como clases independientes. ¿Verdadero o falso?

Cierto
Falso (*)
Cualquier instancia de la misma clase puede asignar un nuevo valor a una variable estática.
¿Verdadero o falso?

Cierto (*)
Falso
Las clases estáticas pueden extender la clase principal. ¿Verdadero o falso?

Cierto (*)
Falso
onsidere el siguiente caso:

Hay un método A que invoca al método B. El método B tiene argumentos


variables.

En función de lo dicho, ¿cuál de los siguientes enunciados es verdadero?


(Elija todas las respuestas correctas)
El método A puede invocar al método B dos veces, cada vez con un número
distinto de argumentos. (*)
Se producirá un error de compilador porque el método B no conoce la
longitud de el arreglo que debe crear al ser invocado por el método A.
Al ser invocado, el método B crea un arreglo para almacenar algunos o todos
los argumentos que pasan del método A. (*)
Todos los anteriores.
¿Cuál de las siguientes es la definición de “método con argumentos variables”?
Tipo de argumento que permite invocar el mismo método con otro número de
argumentos. (*)
Especifica la accesibilidad al código.
Existencia de más de un constructor con el mismo nombre pero diferentes argumentos.
Manera de crear una nueva clase.
¿Qué hace que funcione la sobrecarga?

No existe la sobrecarga.
El código debe declararse private (privado).
La Java Virtual Machine realiza una búsqueda hasta que encuentra una
coincidencia con el nombre del constructor y el tipo de argumento. (*)
Al intérprete no le interesa el nombre que se les ponga a los constructores.
Cuando se convierten galones en litros es mejor colocar el resultado del cálculo en una
variable con un tipo de dato _______________.
int
doble (*)
booleano
Ninguna de las anteriores.
Eclipse proporciona un área de edición para ayudarlo a navegar una jerarquía de
información. ¿Verdadero o falso?

Cierto
Falso (*)
Un entorno de trabajo no puede tener más de un proyecto almacenado. ¿Verdadero o falso?

Cierto
Falso (*)
Qué símbolos se requieren para que un compilador ignore un comentario?

/*/
*/
// (*)
/*
En un proyecto, una de las clases debe incluir un método principal. ¿Verdadero o falso?

Cierto (*)
Falso
 Seleccionar la declaración que indique un número de tipo doble y la inicialice a 6 veces 10
a la 5a potencia.

double number=6*10e5;
double number=6(e5);
double number=6e5; (*)
double number=6*10^5;
 Examinar el siguiente código:
¡Cuál es el valor de la variable x?

14
2.5
6
2 (*)
¿Cuál de las siguientes sentencias asigna de manera correcta "3 veces 10 a la 4a potencia"
al número variable?
double number=3*10^4;
double number=3e4; (*)
double number=3*10e4;
double number=3(e4);
 El operador == prueba si dos referencias de Cadena apuntan al mismo objeto de Cadena.
¿Verdadero o falso?

Cierto (*)
Falso
¿Qué se imprime a través del siguiente segmento de código?

alligator (*)
albatross
alligator albatross
a1
Correcto
El operador == se puede utilizar para comparar dos objetos de Cadena. El resultado es
siempre verdadero si las dos cadenas son idénticas. ¿Verdadero o falso?
Cierto
Falso (*)
¿Cual de los siguientes instancia una Cadena llamada nombre para Oracle?
String name;
String Oracle="name";
String name="name";
String name="Oracle"; (*)
 ¿Cuál será el resultado del segmento del código?

String s="\\\n\"\n\\\n\"";
System.out.println(s);

"
\
"
\
"
"
""\
""
\
""
\
"
\
" (*)
\" \"
¿Cuál de estos dos diagramas ilustra la forma o esquema general de un programa en
Java?

Ejemplo B

El siguiente enunciado define la palabra reservada import:


Proporciona la información del compilador que identifica las clases externas
utilizadas dentro de la clase actual. (*)
Precede el nombre de la clase.
Define en donde reside esta clase en relación con otras clases y proporciona u
¿Qué se imprimirá si el siguiente código de Java se ejecuta?

if ((5.1 > 4.3 && 6.2 < 8.4) && !(7.2 < 3.5 || 1.2 == 2.1 || 2.2 != 2.25))
System.out.print("TRUE"); else
System.out.print("FALSE");
Cierto
Falso (*)
¿Cuál de las siguientes expresiones se evaluarán como verdaderas cuando "x" e "y" sean
variables booleanas con valores opuestos?

I. (x || y) && !(x && y)


II. (x && !y) || (!x && y)
III. (x || y) && (!x ||!y)

Solamente I
Solamente II
I y III
II y III
I, II y III (*)
 ¿Cómo usaría el operador ternario para reescribir la sentencia if?

if (gender == "female") System.out.print("Ms.");


else
System.out.print("Mr.");

(gender == "female") ? "Mr." : "Ms." ;


System.out.print( (gender == "female") ? "Ms." : "Mr." ); (*)
System.out.print( (gender == "female") ? "Mr." : "Ms." );
(gender == "female") ? "Ms
 ¿Cuál de las siguientes definiciones describe mejor un ciclo while?
Un ciclo que ejecuta el código al menos una vez incluso si la sentencia
condicional es falsa.
Un ciclo que contiene un contador entre paréntesis con la sentencia
condicional.
Un ciclo que se ejecuta repetidamente hasta que la sentencia condicional es
falsa. (*)
Un ciclo que contiene un segmento de código que se ejecuta antes de que la
sentencia condicional se pruebe.
En un ciclo for, el contador se incrementa automáticamente después de cada
iteración de ciclo. ¿Verdadero o falso?
Cierto
Falso (*)
Un contador utilizado en un ciclo for no se puede iniciar dentro del encabezado del ciclo
for. ¿Verdadero o falso?
Cierto
Falso (*)
Supongamos que escribe mal el nombre de un método al invocarlo en su
programa. ¿Cuál de las siguientes opciones explica por qué se produce una
excepción?

No se produce una excepción, sino que ocurre un error cuando se compila el


programa. (*)
Porque no se respetaron los parámetros del método.
Porque el intérprete intenta leer el método, pero cuando encuentra el método
que se deseaba utilizar, falla.
Porque el intérprete no reconoce este método dado que nunca se inicializó; se
inicializó el nombre correcto del método.
 ¿Para qué sirven las excepciones en Java?
Para facilitarle al usuario el uso del programa y reducir las posibilidades de que ocurran
errores.
Para ayudar al intérprete a compilar código más rápido y manejar las interfaces de usuario.

Las excepciones no sirven para nada en particular; no son más que parte del lenguaje Java.

Para corregir errores en el código y manejar casos extraordinarios. (*)


Si un método lanza una excepción, ¿dónde puede atraparse dicha excepción?

Puede atraparse en el método que lanzó la excepción o en cualquier otro


método que haya invocado al método que la lanzó. (*)
Debe atraparse no bien es lanzada.
Debe atraparse en el método que lanzó la excepción.
En este caso, no es necesario atraparla.
e produce un error de lógica si se coloca involuntariamente un punto y coma al final de la
inicialización de un ciclo porque el intérprete lo lee como la única línea dentro del ciclo,
una línea que no hace nada. Se interpreta que todo lo que sigue al punto y coma es código
ajeno al ciclo.¿Verdadero o falso?
Cierto (*)
Falso
¿Cuál de los siguientes declara e inicializa un arreglo bidimensional que puede
alojar 6 tipos de referencias de Objeto?

String[] array=new String[6];


String[][] array=String[6];
Object array=new Object[6];
Object[][] array=new Object[2][3]; (*)
 ¿Cuál de los siguientes declara e inicializa un arreglo bidimensional en donde cada
elemento es una referencia?

String s=new String("s");


char[][] words;
String[][] words=new String[10][3]; (*)
char[][] words=new char[10][4];
Lo siguiente crea una referencia en memoria llamada “y”, que puede referenciar a cinco
números enteros diferentes a través de un índice. ¿Verdadero o Falso  ?

int[] y = new int[5];

Cierto (*)
Falso
 ¿Cuál es el resultado del siguiente segmento de código si los argumentos de línea de
comando son "a b c d e f g"?
Este código no se compila.
c
e (*)
f
d
¿Cuál de los siguientes enunciados sobre los métodos abstractos es
verdadero?
(Elija todas las respuestas correctas)

Deben declararse en una clase abstracta.


Deben sobrescribirse en una subclase no abstracta.
Deben estar sobrecargados.
No pueden tener un cuerpo de método. (*)
Pueden incluir implementación.
 Las clases abstractas no pueden implementar interfaces. ¿Verdadero o falso?
Cierto
Falso (*)
 Identifique la manera correcta de declarar una clase abstracta.

abstract public class ClassName{...}


public class abstract ClassName(...)
public abstract ClassName(...)
public abstract class ClassName{...} (*)
¿Qué es un UML?
Unidentified Molding Level, nivel de acceso permitido por el especificador de
acceso predeterminado.
Unified Modeling Language, lenguaje estandarizado que se emplea en
programación para modelar sistemas y estructuras. (*)
Universal Model Light, programa que lee el brillo de cualquier foco de luz.
Ninguno de los anteriores.
 ¿Cuál de las siguientes es la manera correcta de invocar el método sobrescrito needOil() de
la superclase Robot en la subclase SqueakyRobot?
needOil(Robot);
super.needOil(); (*)
SqueakyRobot.needOil();
Robot.needOil(SqueakyRobot);
Qué es el encapsulamiento?

Palabra clave que permite o restringe el acceso a datos y métodos.


Filosofía de programación que promueve la protección de los datos y el
ocultamiento de la implementación a efectos de preservar la integridad de los
datos y los métodos. (*)
Estructura que categoriza y organiza relaciones entre ideas, conceptos de
cosas colocando los más generales en la parte superior y los más específicos
en la parte inferior.
Filosofía de programación que promueve una codificación más eficiente y
sencilla mediante el uso del código existente para las nuevas aplicaciones.
Considere crear una clase Square (cuadrado) que extienda la clase Rectangle
(rectángulo) que figura a continuación. Sabiendo que un cuadrado siempre tiene el
mismo ancho y largo, ¿cuál de las siguientes es la mejor representación de un
constructor para la clase Square?

Ninguna de las anteriores es correcta

Dado

public class YourClass{ public YourClass(int i){/*code*/} // más código...}

¿Qué escribiría para instanciar YourClass?


YourClass y = new YourClass();
YourClass y = new YourClass(3); (*)
YourClass y = YourClass(3);
YourClass y = YourClass();
Ninguno de los anteriores.
Los nombres de las variables de instancia sólo pueden contener letras y dígitos. ¿Verdadero
o falso?

Cierto
Falso (*)
Complete la oración. Un constructor…

debe tener el mismo nombre que la clase en que se lo declara.


se utiliza para crear objetos.
puede ser declarado público.
es todo lo anterior. (*)
Una clase sólo puede tener un constructor. ¿Verdadero o falso?

Cierto
Falso (*)
 La unidad básica de encapsulamiento en Java es la/el:
método
clase (*)
classpath
paquete
En Java, un campo de instancia al que se hace referencia utilizando la palabra clave this
genera un error de compilación. ¿Verdadero o falso?

Cierto
Falso (*)
¿Cuál de las siguientes es la definición de “constructor”?

Palabra clave que especifica la accesibilidad del código.


Método especial empleado para asignar valores iniciales a las variables de
instancia en una clase. (*)
Forma de invocar un método con una cantidad variable de argumentos por
medio de una elipse.
Variable de una declaración de método que se pasa al método.
. ¿Cuál de las siguientes es la definición de “método con argumentos
variables”?
Existencia de más de un constructor con el mismo nombre pero diferentes
argumentos.
Especifica la accesibilidad al código.
Manera de crear una nueva clase.
Tipo de argumento que permite invocar el mismo método con otro número de
argumentos. (*)
¿Cuál de los siguientes podría ser motivo para necesitar pasar un objeto a un método?
Mayor facilidad de acceso a la información contenida en el objeto.
Posibilidad de realizar modificaciones en un objeto dentro del método.
Comparación de dos objetos.
Todos los anteriores. (*)
 Identifique el o los errores que presenta la siguiente clase. Seleccione todos
los que correspondan. .

(Elija todas las respuestas correctas)

No se define ningún método llamado min. (*)


Private no puede emplearse como modificador de acceso.
Dos métodos no pueden tener el mismo nombre.
Final no puede emplearse como modificador de 
¿Cuál de los siguientes puede ser motivo para devolver un objeto?
Porque se desea poder utilizar ese objeto dentro del método.
Es más rápido que devolver un tipo primitivo.
El método realiza modificaciones en el objeto, y se desea seguir utilizando el
objeto actualizado fuera del método. (*)
Ninguno de las anteriores. N
Las variables estáticas de clase que no son “final” deben ser privadas para evitar que las
modifiquen otras clases. ¿Verdadero o falso?
Cierto (*)
Falso
Las clases estáticas pueden tener especificadores de acceso distintos de los de la clase
principal.¿Verdadero o falso?

Cierto (*)
Falso
¿Cuál de los siguientes modificadores no puede ser utilizado por las variables estáticas?

friendly (*)
default
protected
private
public
Dado el código:

String s = new String("abc");

¿Cuál de las siguientes sentencias resulta en que "s" tenga la mayor longitud?

s.trim()
s.replace('a', 'aa')
s.substring(2)
s.toUppercase()
Ninguna de las anteriores cambiará la longitud de s. (*)
El siguiente programa imprime "Equal": ¿Verdadero o falso?

Cierto
Falso (*)
Los métodos de Cadena equals (es igual a) y compareTo (comparar con) realizan funciones
similares y se diferencian en el tipo de datos que devuelven. ¿Verdadero o falso?

Cierto (*)
Falso
Considere el siguiente fragmento de código.

¿Qué se imprime?

55555
Se lanza ArrayIndexOutofBoundsException. (*)
87658
El código no se compila.
AtlanticPacificIndianArcticSouthern
onsidere el siguiente fragmento de código.

¿Qué se imprime?
1010778
88888888
Se lanza ArrayIndexOutofBoundsException.
101077810109
88888 (*)
Dada la siguiente sentencia: int z=5,m=6;

¿Qué línea de código Java lleva a cabo de forma correcta una conversión(casting) de un
tipo de dato a otro, sin pérdida de datos?

double x= double z/m;


double x=(double)(z/m);
double x=(double)z/m; (*)
double x=z/m;
Considere lo siguiente:

Está escribiendo una clase y está utilizando una variable global. Dentro de un método usted
declara una variable local con el mismo nombre que la variable global.

Este estilo de programación es malo porque dentro del método la variable global tendrá
precedencia sobre la variable local con el mismo nombre.

¿Verdadero o falso?

Cierto
Falso (*)
¿Cuál de los siguientes es el nombre de un tipo de dato primitivo de Java?

Object
String
Rectángulo
double (*)
El siguiente enunciado define la palabra reservada class:

Define en donde reside esta clase en relación con otras clases y proporciona un nivel de
control de acceso.
Proporciona la información del compilador que identifica las clases externas utilizadas
dentro de la clase actual.
Precede el nombre de la clase. (*)
Cuál de las siguientes definiciones corresponde a una clase controlador
(driver)?

contiene un método principal y otros métodos estáticos (*)


contiene clases que definen objetos
contiene un método principal, un paquete, métodos estáticos y clases que
definen objetos
Ninguna de las anteriore
 En la imagen a continuación, identifique los componentes.

A-Método principal, B-Clase, C-Paquete


A-Clase, B-Método principal, C-Paquete
A-Paquete, B-Método principal, C-Clase (*)
Ninguna de las anteriores.
 Se usan pestañas cuando más de un archivo está abierto en el área de edición. ¿Verdadero
o falso?

Cierto (*)
Falso
o se requiere punto y coma al final de cada línea para una compilación exitosa. ¿Verdadero
o falso?

Cierto
Falso (*)
 Se usan varias ventanas cuando más de un archivo está abierto en el área de edición.
¿Verdadero o falso?

Cierto
Falso (*)
Cuando se convierten galones en litros es mejor colocar el resultado del
cálculo en una variable con un tipo de dato _______________.

int
doble (*)
booleano
Ninguna de las anteriores
Cuando se convierten galones en litros es mejor colocar el resultado del
cálculo en una variable con un tipo de dato _______________.
int
doble (*)
booleano
Ninguna de las anteriores
Cuál de los dos diagramas a continuación ilustran la sintaxis correcta para las variables
utilizadas en una sentencia if-else (si-otro)?
Ejemplo A (*)
Ejemplo B
Cómo usaría el operador ternario para reescribir esta sentencia if?

if (gender == "male")
System.out.print("Mr.");
else
System.out.print("Ms.");

System.out.print( (gender == "male") ? "Mr." : "Ms." ); (*)


System.out.print( (gender == "male") ? "Mr." : "Ms." ;
System.out.print( (gender == "male") ? "Ms." : "Mr." ;
System.out.print( (gender == "male") ? "Ms." : "Mr." );
 Determinar si esta expresión booleana evalúa como verdadera o falsa:

!(3<4&&6>6||6<=6&&7-2==6)
Cierto (*)
Falso
¿Cuál es la función de la palabra "break" en Java?

Detiene la ejecución del programa.


Continúa en la siguiente línea de código.
Sale del ciclo actual o sentencia de caso. (*)
No existe en Java.
¿Cuál de las siguientes definiciones describe mejor un ciclo while?

Un ciclo que contiene un segmento de código que se ejecuta antes de que la


sentencia condicional se pruebe.
Un ciclo que contiene un contador entre paréntesis con la sentencia
condicional.
Un ciclo que ejecuta el código al menos una vez incluso si la sentencia
condicional es falsa.
Un ciclo que se ejecuta repetidamente hasta que la sentencia condicional es
falsa. (*)
1. La sintaxis a continuación representa una inicialización válida de un contador de ciclo
for. ¿Verdadero o falso?

public class ForLoop {


 public static void main (String args[])
 {
  for (int i=10; i <20; i++)
  {System.out.println("i: "+i); }
 }
}

Cierto (*)
Falso
22. ¿Cuáles de las siguientes serían maneras correctas de manejar una
excepción de tipo: “index out of bounds"?

(Elija todas las respuestas correctas)

No hacer nada; se arreglará sola.


Lanzar la excepción que genera el mensaje de error. No hay necesidad de
atrapar la excepción para manejarla si ya se ha lanzado.
Lanzar la excepción y atraparla. Al atraparla, cambiar el índice por el índice de
el arreglo que más se aproxime al que excedió los límites. (*)
Reescribir el código para evitar la excepción no permitiendo que se utilice un
índice que no se encuentre dentro de el arreglo. (*)
 ¿Cuál de las siguientes es la definición correcta de “excepción”?
Problema muy grave y sin arreglo que se produce al interpretar y ejecutar el
código.
Intérprete que lee el código.
Código que no presenta errores y que, por lo tanto, funciona perfectamente.

Problema que puede ser corregido o manejado por el código. (*)


24. ¿Cuál de las siguientes opciones indica la función correcta del símbolo?
(Elija todas las respuestas correctas)
= (un único signo de igual) compara el valor de tipos primitivos, como int o
char.
== (dos signos de igual) compara la ubicación de objetos no primitivos en la
memoria. (*)
== (dos signos de igual) compara los valores de objetos no primitivos.
== (dos signos de igual) compara los valores de tipos primitivos, como int o
char. (*)
.equals () compara el valor de objetos no primitivos. (*)
25. ¿Qué significa “atrapar” o “capturar” una excepción?
Significa que se ha subsanado el error.
Significa que nunca se produjo una excepción en el código.
Significa lanzarla.
Significa manejarla. (*)
¿Qué contendrá el arreglo arr después de que el siguiente segmento de código sea
ejecutado? 

int [] arr = {5, 4, 2, 1, 0};


for (int i = 1; i < arr.length; i++)
{
arr[i - 1] += arr[i];
}

7, 3, 2, 1, 0
Ninguna de las anteriores.
9, 6, 3, 1, 0 (*)
10, 6, 3, 1, 0
9, 6, 1, 3, 0
27. Lo siguiente crea una referencia en la memoria llamada "q", que puede referenciar a ocho
diferentes datos de tipo double, a través de un índice. ¿Verdadero o falso?  

double[] q = new double[8];

Cierto (*)
Falso
8. ¿Cuál es el resultado del siguiente segmento de código?

int num[]={9,8,7,6,5,4,3,2,1};
for(int i=0;i<9;i=i+3)
System.out.print(num[i]);

9630
Este código no se compila.
987654321
97531
963 (*)
29. La siguiente declaración de allegro es válida:

int[] y = new int[5];

Cierto (*)
Falso
30. ¿Cuál de los siguientes modificadores no puede ser utilizado por las variables estáticas?

default
friendly (*)
private
protected
public
31. Los métodos estáticos pueden escribir en variables de instancia. ¿Verdadero o falso?

Cierto
Falso (*)
32. La palabra clave “final” hace que una variable estática se comporte como una constante.
¿Verdadero o falso?

Cierto (*)
Falso
33. Hay un equipo trabajando en un proyecto de codificación. La idea es que todas las
porciones del código tengan acceso a las clases que escriban. ¿Qué modificador de acceso
deberían emplear para cada clase?

public (*)
protected
private
default
Todos los anteriores
34. Siguiendo las pautas de una buena programación, ¿qué modificador de acceso debería
utilizarse para los campos de clase en la siguiente situación?

Una compañía de seguros automotores quiere crear una clase llamada Customer que
almacene todos los datos de un determinado cliente, incluidos los siguientes campos: datos
del vehículo, datos de la póliza y número de tarjeta de crédito.

public
protected
private (*)
default
Todos los anteriores
35. ¿Cuál de las siguientes es la definición correcta de “sobrecarga”?

Existencia de más de un constructor con el mismo nombre pero diferentes


argumentos. (*)
Tipo de especificador de acceso que sólo permite acceder desde dentro de la
misma clase.
Existencia de más de un constructor con diferentes nombres y los mismos
argumentos
Método con argumentos variables que devuelve un arreglo.
36. ¿Cuál de las siguientes opciones especifica la accesibilidad a variables, métodos y
clases?
Sobrecarga de constructores
Métodos
Modificadores de acceso (*)
Parámetros
37. Considere el siguiente caso:

Hay un método A que invoca al método B. El método B tiene argumentos


variables.

En función de lo dicho, ¿cuál de los siguientes enunciados es verdadero?


(Elija todas las respuestas correctas)
El método A puede invocar al método B dos veces, cada vez con un número
distinto de argumentos. (*)
Se producirá un error de compilador porque el método B no conoce la
longitud de el arreglo que debe crear al ser invocado por el método A.
Al ser invocado, el método B crea un arreglo para almacenar algunos o todos
los argumentos que pasan del método A. (*)
Todos los anteriores.
38. Considere crear una clase Square (cuadrado) que extienda la clase
Rectangle (rectángulo) que figura a continuación. Sabiendo que un cuadrado
siempre tiene el mismo ancho y largo, ¿cuál de las siguientes es la mejor
representación de un constructor para la clase Square?
(*)
Ninguna de l
39. ¿Qué es el encapsulamiento?
Estructura que categoriza y organiza relaciones entre ideas, conceptos de
cosas colocando los más generales en la parte superior y los más específicos
en la parte inferior.
Filosofía de programación que promueve una codificación más eficiente y
sencilla mediante el uso del código existente para las nuevas aplicaciones.
Palabra clave que permite o restringe el acceso a datos y métodos.
Filosofía de programación que promueve la protección de los datos y el
ocultamiento de la implementación a efectos de preservar la integridad de los
datos y los métodos. (*)
40. Un modificador de acceso es una palabra clave que les permite a las subclases acceder a
los métodos, datos y constructores correspondientes a la clase principal. ¿Verdadero o
falso?
Cierto (*)
Falso
41. ¿En cuál de los siguientes casos se describe correctamente el uso de la
palabra clave “super”?

Palabra clave que indica el final de un programa.


Palabra clave que restringe el acceso únicamente a los miembros de la misma
clase.
Palabra clave que permite el acceso desde donde sea.
Palabra clave que les permite a las subclases acceder a los métodos, datos y
constructores correspondientes a la clase principal. (*)
42. ¿Sería correcto este código si Dog (perro) es una HousePet (mascota)? ¿Por qué sí o por
qué no?

HousePet Scooby = new Dog();


No, porque ref debe declararse como HousePet o Dog, pero no ambas.
Quizás. No hay manera de saberlo sin ver los métodos de Dog y los de HousePet.
Sí, porque lo permite el polimorfismo dado que Dog es una subclase de HousePet. (*)
Sí, porque es una clase abstracta.
43. ¿Hay alguna diferencia entre sobre-escribir un método y sobrecargarlo?
Sí. La sobre-escritura permite la creación de un allegro de distintos tipos de objeto,
mientras que la sobrecarga sólo permite que el allegro contenga los mismos tipos de objeto.

Sí. La sobre-escritura tiene lugar dentro de una única clase, mientras que la sobrecarga
abarca una serie de superclases y subclases. .
Sí. La sobre-escritura tiene lugar en la subclase y permite redefinir un método heredado de
la superclase, mientras que la sobrecarga se produce dentro de una clase y permite tener
múltiples métodos con el mismo nombre. (*)
No, es lo mismo.
4. Si es posible ser heredero de una clase abstracta, ¿qué debe hacerse para
evitar que ocurra un error de compilador?
(Elija todas las respuestas correctas)

Sobrescribir todos los métodos abstractos de la clase principal. (*)


Declarar abstracta la clase secundaria.
No es posible ser heredero de una clase abstracta.
Crear todas variables y métodos nuevos, distintos de los de la clase principal.
45. Si el tipo que devuelve un método es booleano, 2.5 es un valor de retorno válido.
¿Verdadero o falso?
Cierto
Falso (*)
46. En Java, un campo de instancia al que se hace referencia utilizando la palabra clave this
genera un error de compilación. ¿Verdadero o falso?

Cierto
Falso (*)
47. El valor de retorno de un método sólo puede ser un tipo primitivo y no un objeto.
¿Verdadero o falso?

Cierto
Falso (*)
48. La unidad básica de encapsulamiento en Java es el tipo de datos primitivo. ¿Verdadero
o falso?

Cierto
Falso (*)
49. La unidad básica de encapsulamiento en Java es la/el:

paquete
classpath
clase (*)
método
50. La siguiente sentencia compila y ejecuta. ¿Qué puede decirse con certeza?
submarine.dive(depth);

La variable depth debe ser un int (número entero).


dive debe ser el nombre de un campo de instancia.
submarine debe ser el nombre de una clase.
submarine debe ser un método.
dive debe ser un método. (*)

También podría gustarte