0% encontró este documento útil (0 votos)
6 vistas33 páginas

PreguntasTest JAVA

Cargado por

Oliver San Jose
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas33 páginas

PreguntasTest JAVA

Cargado por

Oliver San Jose
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PREGUNTAS TIPO TEST

JAVA
PROGRAMACIÓN

ZULEMA GUTIERREZ
RHIMOU KAMMAH
Tipo Test Java

Estas preguntas tipo test, fueron desarrolladas con

Mucha pena, angustia, pero sobre todo lágrimas,

De tristeza, desesperación y a la vez de la risa.

Cómo es posible que nos demos cuenta de la memoria pez que se tiene,

Cuando te acuerdas de lo último, pero no de lo primero.

Así es la vida Amigos.

Dedicado a toda la tarde de nuestro Miércoles 06/03/2024.

1
Tipo Test Java

¿Qué hace el siguiente programa?


String sPalabra = "palabra";

int inc = 0;

int des = sPalabra.length()-1;

boolean bError = false;

while ((inc<des) && (!bError)){

if (sPalabra.charAt(inc)==sPalabra.charAt(des)){

inc++;

des--;

} else {

bError = true;

a) Cuenta las letras que hay en una palabra


b) Calcula si hay letras repetidas en una palabra
c) Calcula si una palabra es un palíndromo
d) El programa no compila

Explicación:

 Un palíndromo es una palabra que se lee igual de izquierda a derecha que de derecha a
izquierda.
 El programa recorre la palabra desde el principio y desde el final al mismo tiempo.
 En cada iteración, se comparan los caracteres del principio y del final de la palabra.
 Si los caracteres son iguales, se continúa con la siguiente iteración.
 Si los caracteres no son iguales, se indica que la palabra no es un palíndromo y se
termina el bucle.
 Si el bucle termina sin encontrar ningún error, se indica que la palabra es un palíndromo.

¿Qué resultado da la siguiente operación?


System.out.println(5&6);

a) 6
b) 5
c) 4
d) true

Explicación:

 El operador & se utiliza para la operación AND a nivel de bits.


 En este caso, los valores binarios de 5 y 6 son:

5 = 0101

6 = 0110

2
Tipo Test Java

 La operación AND bit a bit se realiza de la siguiente manera:

0101

& 0110

-------

0100

 El resultado binario 0100 es equivalente al número decimal 4.


 Sin embargo, la instrucción System.out.println() imprime el valor booleano, no el valor
numérico.
 El valor booleano de cualquier número distinto de 0 es true.

¿Qué imprime el siguiente código fuente?


int x = 1;

while (x <= 10){

System.out.println(++x);

a) Los valores del 1 al 10


b) Los valores del 1 al 9
c) Los valores del 2 al 10
d) Los valores del 2 al 11

Explicación:

 El código define una variable x con el valor 1.


 El bucle while se ejecuta mientras x sea menor o igual a 10.
 Dentro del bucle, se imprime el valor de x y luego se incrementa en 1.
 El bucle termina cuando x es igual a 11.

¿Qué hace el siguiente programa?


int x= 0;

do {

System.out.println(x);

x++;

} while (x<10);

a) Muestra los números del 1 al 10


b) Muestra los números del 0 al 10
c) Muestra los números del 0 al 9
d) Ninguna de las tres respuestas es correcta

3
Tipo Test Java

Explicación:

 El programa define una variable x con el valor 0.


 La instrucción do-while se ejecuta al menos una vez, ya que la condición se comprueba
al final.
 Dentro del bucle, se imprime el valor de x y luego se incrementa en 1.
 El bucle termina cuando x es igual a 10.

¿Cuál es el valor que se muestra por pantalla?


int x = 5;

int y = 5;

y /= ++x;

System.out.println(y);

a) 6
b) 5
c) 1
d) 0

Explicación:

 La variable x se inicializa con el valor 5.


 La variable y se inicializa con el valor 5.
 La operación y /= ++x se realiza de la siguiente manera:
1) Se incrementa el valor de x en 1, lo que lo convierte en 6.
2) Se divide el valor de y por el nuevo valor de x, lo que da como resultado 1.
 Se imprime el valor de y, que es 1.

¿Qué nos mostrará el siguiente programa?


for (double y=0.1;y!=1.0;y+=0.1)

System.out.println(y);

a) Los valores del 0.1 al 1.0


b) Los valores del 0 al 1
c) Lo más probable es que entre en un bucle infinito por la precisión
double
d) Ninguna de las tres respuestas el correcta

Explicación:

 La variable y se inicializa con el valor 0.1.


 El bucle for se ejecuta mientras y sea diferente de 1.0.
 Dentro del bucle, se imprime el valor de y y luego se incrementa en 0.1.
 Sin embargo, debido a la precisión de los números de coma flotante en Java, es probable
que el valor de y nunca llegue a ser exactamente 1.0. Esto significa que el bucle for se
ejecutará un número infinito de veces, lo que se conoce como un bucle infinito.

4
Tipo Test Java

¿Qué se imprime por pantalla?


int x = 10;

int y = 3;

System.out.println(x%y);

a) 3
b) 2
c) 1
d) 0

Explicación:

 El operador % se utiliza para obtener el resto de la división entre dos números.


 En este caso, el resultado de la división x / y es 3, con un resto de 1.
 Por lo tanto, se imprime el valor 3 por pantalla.

¿Qué modificador de acceso hace que una clase sea pública en Java?
a) private
b) protected
c) free
d) public

¿Cuál de los siguientes tipos no es primitivo?


a) int
b) float
c) Integer
d) boolean

¿Cuál de la lista no es un tipo de dato en Java?


a) byte
b) float
c) double
d) single

¿Cómo se llama la estructura que sirve para ejecutar una acción cuando
se cumple una condición y otra cuando no se cumple la condición?
a) Selectiva
b) Repetitiva
c) Secuencial
d) Algorítmica

Explicación:

 Las estructuras selectivas, también conocidas como condicionales, se utilizan para


tomar decisiones en un programa.
 Estas estructuras permiten ejecutar una acción cuando se cumple una condición y otra
acción cuando no se cumple la condición.

5
Tipo Test Java

¿Qué se imprime por pantalla?


int x=2;

int y=2;

int z;

z = x++ + y;

System.out.println(z);

a) 2
b) 3
c) 4
d) 5

Explicación:

1) x++: Esta expresión incrementa el valor de x en 1 después de que su valor actual se use
en la expresión. Por lo tanto, x se convierte en 3, pero su valor original (2) se utiliza para
cálculos posteriores.
2) x++ + y: Esta parte suma el valor original de x (2) e y (2). Por lo tanto, el resultado es 2 + 2 =
4.
3) z = ...: Finalmente, el valor 4 se asigna a z.
4) System.out.println(z);: Esta línea imprime el valor de z, que es 4.

¿Cuándo entrará el programa en el siguiente bucle?


while ((x<y) && (a>b)) { ... }

a) Si X es menor que Y o si A es mayor que B


b) Si A es mayor que B
c) Si X es menor que Y
d) Si X es menor que Y y si A es mayor que B

Explicación:

 La condición del bucle while se cumple solo cuando ambas condiciones sean ciertas:
o x < y: X debe ser menor que Y.
o a > b: A debe ser mayor que B.
 Si solo una de las condiciones es verdadera, el bucle no se ejecutará.
 Si ambas condiciones son falsas, el bucle no se ejecutará.

¿Que se mostraría por pantalla?


System.out.println("Hola\tMundo");

a) "Hola Mundo"
b) "Hola\nMundo"
c) "Hola" y en otra línea "Mundo"
d) "Hola" un tabulador y "Mundo"

6
Tipo Test Java

¿Cual es el resultado del siguiente programa?


int k=3;

int m=2;

System.out.println ( ! ( k > m) );

a) 3
b) true
c) 2
d) false

Explicación:

 La expresión k > m se evalúa primero. Como k es igual a 3 y m es igual a 2, la expresión es


verdadera.
 El operador ! se utiliza para negar el valor de una expresión. En este caso, la expresión
negada es k > m, que es verdadera.
 Por lo tanto, el resultado final es !(k > m), que es falso.

¿Realiza lo mismo el operador | y el operador ||?


a) No, sirven para cosas diferentes
b) Sí, pero el | es lógico y si la primera condición es true ya no evalúa más
c) Sí, pero el || es lógico y si la primera condición es true ya no evalúa más
d) Ninguna respuesta es correcta

Explicación:

 Los operadores | y || son operadores lógicos que se utilizan para evaluar dos expresiones
y devolver un valor booleano.
 Ambos operadores se pueden traducir como "o".
 La diferencia entre ellos es que el operador | es un operador a nivel de bits, mientras que
el operador || es un operador lógico.

int x = 1;

int y = 2;

System.out.println(x | y); // Salida: 3 (11 en binario)

System.out.println(x || y); // Salida: true

¿Cual es el resultado del siguiente programa?


int i=1;

int j=2;

System.out.println ((i > 1) && (j > 4));

a) true
b) false
c) undefined
d) No compila el código

7
Tipo Test Java

¿Cual es el resultado del siguiente programa?


int i=1;

System.out.println ( i == 1 );

a) true
b) false
c) undefined
d) "i == 1"

¿Cómo puedo elevar un número a una potencia?


a) Math.poten
b) Operador **
c) Math.pow
d) Operador ^

Explicación:

En Java, el método Math.pow(x, y) se utiliza para elevar un número x a una potencia y.

 x es el número base.
 y es el exponente.

¿Cómo puedo utilizar el número PI en Java?


a) PI
b) Math.PI
c) Const.PI
d) No existe nada, hay que declararlo 3.141592

¿Cuál es el resultado de la operación?


System.out.println(2+6>>2);

a) 8
b) 5
c) 4
d) 2

Explicación:

8
Tipo Test Java

¿Cómo calculo el tanto por ciento de un número en Java?


a) Operador %
b) Math.percentage
c) Math.percent
d) Hay que calcularlo a mano

Explicación:

En Java, el operador % se utiliza para calcular el resto de una división. En este caso, podemos
utilizarlo para calcular el tanto por ciento de un número dividiendo el número por 100 y
utilizando el resto como porcentaje.

En la precedencia de operadores cual va antes


a) /%
b) +-
c) ++expresion
d) <<

Explicación:

En la precedencia de operadores, el orden de evaluación es el siguiente:

1. Operadores unarios: ++expresion, --expresion


2. Operadores de multiplicación y división: /, %
3. Operadores de suma y resta: +, -
4. Operadores de desplazamiento: <<, >>

¿Qué imprime por pantalla el siguiente código fuente?


int x = 10;

int y = 3;

x %= y;

System.out.println(y);

a) 4
b) 3
c) 2
d) 1

Explicación:

El código fuente primero define dos variables x e y con valores 10 y 3 respectivamente. Luego,
se utiliza el operador % para calcular el resto de la división de x entre y. El operador % devuelve
el resto de la división entera, ignorando la parte decimal.

En este caso, la división de 10 entre 3 da como resultado un cociente de 3 y un resto de 1. El


resto se asigna a la variable x.

Finalmente, se imprime el valor de la variable y, que sigue siendo 3.

9
Tipo Test Java

¿Qué hace el siguiente programa?


double y = 4;

boolean flag=false;

for (int x=3;x<10000000;x=x+2) {

if (flag) {

y+=((double)4/x);

flag=false;

} else {

y-=((double)4/x);

flag=true;

a) Calcula la serie de Fibonacci


b) Calcula el número PI
c) Calcula números primos
d) Calcula el apotema de un polígono regular

Explicación:

El programa utiliza la serie de Madhava-Leibniz para calcular el número PI. La serie se define
como:

PI/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - ...

El programa recorre un bucle desde 3 hasta 10000000, incrementando de 2 en 2. Dentro del


bucle, se utiliza una bandera flag para alternar entre sumar y restar el término 4/x a la variable y.

 Si la bandera es true, se suma el término.


 Si la bandera es false, se resta el término.

Al final del bucle, la variable y contiene una aproximación del número PI.

¿Qué se imprime por pantalla?


int total = 10;

int contador = 4;

total -= --contador;

System.out.println(total);

a) 10
b) 7
c) 6
d) 4

10
Tipo Test Java

¿Cual es el resultado del siguiente programa?


int k=3;

int m=2;

System.out.println ((m <= 99) & (k < m));

a) true
b) false
c) 24
d) 0111011

Explicación:

El programa utiliza el operador & para evaluar dos expresiones booleanas:

1) m <= 99: Esta expresión es verdadera porque el valor de m (2) es menor o igual que 99.
2) k < m: Esta expresión es falsa porque el valor de k (3) es mayor que el valor de m (2).

El operador & solo devuelve true si ambas expresiones son verdaderas. En este caso, solo una de
las expresiones es verdadera, por lo que el resultado final es false.

¿Cuál es el resultado de la operación?


System.out.println(2|1);

a) true
b) false
c) 3
d) 2

Explicación:

En Java, el operador | se utiliza para realizar la operación OR bitwise. Esta operación funciona
comparando los bits de dos números binarios y devolviendo un 1 si al menos uno de los bits es 1,
y un 0 si ambos bits son 0.

En este caso, los números binarios correspondientes a 2 y 1 son:

 2 = 0010
 1 = 0001

Al realizar la operación OR bitwise:

 0010 | 0001 = 0011

El número binario 0011 corresponde al número decimal 3, por lo que ese es el resultado de la
operación.

11
Tipo Test Java

¿Realiza lo mismo el operador & y el operador &&?


a) No, sirven para cosas diferentes
b) Sí, pero el && es lógico y solo evalua la segunda parte si la primera es
true
c) Sí, pero el & es lógico y solo evalua la segunda parte si la primera es true
d) Ninguna respuesta es correcta
Explicación:

Los operadores & y && se parecen en que ambos se usan en expresiones booleanas, pero tienen
diferentes funcionalidades:
Operador &:

Se llama operador AND bit a bit.



Realiza una operación bit a bit entre dos valores, comparando cada bit individual.

Devuelve un 1 si ambos bits son 1, y un 0 en cualquier otro caso.

Se utiliza principalmente para operaciones a nivel de bits, como enmascaramiento y

configuración de bits.
Operador &&:

 Se llama operador AND lógico.


 Evalúa dos expresiones booleanas y devuelve true solo si ambas expresiones son true.
 Se utiliza para evaluar condiciones lógicas en el flujo de control del programa.

¿Genera Java código fuente?


a) Sí, genera código fuente
b) No, genera bytecodes
c) Depende del compilador que utilicemos
d) Sí, pero solo para sistemas Windows

Explicación:

Java no genera código fuente directamente. En su lugar, el compilador de Java convierte el


código fuente Java (.java) en un bytecode (.class). El bytecode es un conjunto de instrucciones
que la máquina virtual de Java (JVM) puede interpretar y ejecutar.

¿Qué calcula nuestro método misterio?


public static int misterio(int uno, int dos){

int calculo = 1;

for (int x=0;x<dos;x++)

calculo *= uno;

return calculo;

a) La multiplicación del número uno con el número dos


b) El factorial del número uno
c) La potencia del número uno elevado al número dos
d) Ninguna de las respuestas es correcta
Explicación:

El método misterio calcula la potencia de uno elevado a dos mediante un bucle for. El bucle se
ejecuta dos veces, y en cada iteración se multiplica calculo por uno.

Al final del bucle, calculo contiene el resultado de multiplicar uno por sí mismo dos veces, lo que
es equivalente a calcular la potencia uno^dos.

12
Tipo Test Java

¿Qué tipo de estructura representa el siguiente código?


while (contador < 20) {

System.out.println("Número de línea " + contador);

contador++;

a) Estructura Secuencial
b) Estructura Repetitiva
c) Estructura Selectiva
d) Ninguna de las tres anteriores.

Explicación:

El código presentado representa una estructura repetitiva del tipo while. Esta estructura se
caracteriza por ejecutar un bloque de código de forma repetida mientras una condición
específica se cumpla.

En este caso, el bloque de código se ejecuta mientras la variable contador sea menor que 20.

¿Cual es el valor de x?
double x = Math.pow(2, 4);

a) 24.0
b) 16.0
c) 8.0
d) 4.0

Explicación:

La función Math.pow(2, 4) eleva el número 2 a la potencia 4.

2 elevado a 4 es 16, por lo que el valor de x se asigna a 16.0

En la precedencia de operadores cual va antes


a) ^
b) +-
c) |
d) <<

1. ^ (potencia)

2. << (desplazamiento a la izquierda)

3. + (suma) y - (resta)

4. | (operador OR)

En resumen:

La potencia tiene la mayor precedencia, por lo que se evalúa primero.

El desplazamiento a la izquierda se evalúa después de la potencia.

La suma y la resta se evalúan después del desplazamiento a la izquierda, y se evalúan de izquierda a derecha.

El operador OR se evalúa después de la suma y la resta.

13
Tipo Test Java

Si la variable b es de tipo byte y fue declarada anteriormente, ¿Cuál es el


valor de b tras esta operación?
b += 2+(2*Byte.MAX_VALUE);

a) Es imposible saberlo sin saber el valor inicial de b


b) NullPointerException
c) Exception
d) El valor que tenga inicialmente b

Explicación:

El código b += 2+(2*Byte.MAX_VALUE) realiza la siguiente operación:


1. Se calcula el valor 2+(2*Byte.MAX_VALUE).
2. El valor calculado en el paso 1 se suma al valor actual de b.

El valor final de b depende del valor inicial que tenía b antes de la operación.
• Si el valor inicial de b es positivo: El valor final de b será un número mayor que el valor
inicial.
• Si el valor inicial de b es negativo: El valor final de b puede ser positivo, negativo o cero,
dependiendo del valor exacto de b.
• Si el valor inicial de b es cero: El valor final de b será 2+(2*Byte.MAX_VALUE), que es igual
a 514.

¿Qué hace la siguiente sentencia de código?


total -= --contador;

a) No compila, es erronea.
b) Decrementa contador a total y luego resta uno a contador.
c) Decrementa uno al contador y luego se lo resta a total.
d) Decrementa uno al contador y luego se lo asigna a total.

Explicación:

La sentencia total -= --contador se compone de dos operaciones:

1. --contador: Decrementa en uno el valor de la variable contador.

2. total -= --contador: Resta el valor de --contador a la variable total.

Es importante destacar el orden de las operaciones. Primero se decrementa contador y luego se


resta el valor decrementado a total.

Para que una condición con el operador || sea verdadera se tiene que
cumplir que...
a) Cualquier operando sea true
b) Todos los operandos sean true
c) Al menos dos operados sean true
d) Las tres respuestas son correctas

Explicación:
El operador || (OR) en Java se utiliza para evaluar una condición lógica compuesta. La condición
se considera verdadera si al menos uno de los operandos es verdadero. En otras palabras, si
cualquiera de las expresiones que se comparan con el operador || es verdadera, el resultado final
será verdadero.

14
Tipo Test Java

¿Que resultado da la siguiente operación?


System.out.println(5>>1);

a) 6
b) true
c) 4
d) 2

Explicación:

La operación 5>>1 es un desplazamiento a la derecha de bits. En este caso, se desplazan los bits
del número 5 un lugar a la derecha.

El resultado de desplazar un número binario a la derecha es dividirlo por 2.

En binario:

• 5 = 101

• 5>>1 = 10

En decimal:

• 5 >> 1 = 2

¿Cuál es la precisión de un tipo de dato long?


a) 8 bit
b) 16 bit
c) 32 bit
d) 64 bit

¿Hace lo mismo el código fuente Uno y el código fuente Dos?


/* Código Uno*/

int x= 0;

do {

System.out.println(x);

x++;

} while (x<10);

/* Código Dos */

int y= 0;

while (y<10){

System.out.println(y);

y++;

a) No, el primero muestra del 1 al 10 y el segundo del 0 al 9


b) Sí, los dos muestran del 0 al 9
c) No, el primero muestra del 0 al 9 y el segundo del 1 al 10
d) Sí, los dos muestran del 1 al 10
--> Explicación en la otra hoja

15
Tipo Test Java

Explicación:

Ambos códigos fuente, Uno y Dos, son bucles que imprimen los números del 0 al 9. La única
diferencia es la forma en que se implementa el bucle:

• Código Uno: Usa un bucle do-while.


• Código Dos: Usa un bucle while.

En ambos casos, la variable x o y se incrementa en 1 después de cada iteración.

Comportamiento:
1. Se inicializa la variable x o y a 0.
2. Se comprueba la condición x<10 o y<10. Si la condición es verdadera, se ejecuta el
cuerpo del bucle.
3. Se imprime el valor de x o y.
4. Se incrementa x o y en 1.
5. Se repiten los pasos 2 a 4 hasta que la condición sea falsa.

¿Que resultado da la siguiente operación?


System.out.println(1<<4);

a) 16
b) 5
c) true
d) -3

Explicación:

La operación 1<<4 es un desplazamiento a la izquierda de bits. En este caso, se desplazan los bits
del número 1 cuatro lugares a la izquierda.

El resultado de desplazar un número binario a la izquierda es multiplicarlo por 2 elevado a la


potencia del número de bits desplazados.

En binario:

• 1=1

• 1<<4 = 10000

En decimal:

• 1 << 4 = 1 * 2^4 = 16

16
Tipo Test Java

¿Qué muestra el siguiente código fuente por pantalla?


int x=0;

while (x<=10) {

System.out.println(x);

x++;

a) Los números del 0 al 9


b) Los números del 0 al 10
c) Los números del 1 al 10
d) Se queda en un bucle infinito

Explicación:

El código fuente comienza declarando una variable x e inicializándola a 0. Luego, entra en un


bucle while que se ejecuta mientras x sea menor o igual a 10.

Dentro del bucle, se imprime el valor de x usando System.out.println y luego se incrementa el


valor de x en 1 usando x++.

El bucle se ejecutará 11 veces, desde que x es 0 hasta que sea 10. En cada iteración, se imprimirá
el valor actual de x.

¿Cómo sumarias una unidad a la variable x?


a) x = x + 1;
b) x += 1;
c) x++;
d) Las tres son válidas

Explicación:

a) x = x + 1: Esta es la forma más básica de sumar una unidad a una variable. Se asigna a la
variable x el resultado de la suma de x y 1.

b) x += 1: Esta es una forma abreviada de la opción a). Es equivalente a x = x + 1;.

c) x++: Esta es la forma más concisa de sumar una unidad a una variable. Se incrementa el valor
de x en 1.

La más concisa es x++.

17
Tipo Test Java

¿Cuál es la salida del siguiente programa?


int contador=1;

while (contador<=10) {

System.out.println( contador%2 == 1 ? "****" : "++++++++");

++contador;

a) Alterna 5 veces cada uno los símbolos * y +


b) Genera 5 líneas con símbolos *
c) Genera 5 líneas con símbolos +
d) Alterna 10 veces cada uno los símbolos * y +

Explicación:

El programa recorre un bucle while que se ejecuta 10 veces, desde que contador es 1 hasta que
sea 10.

Dentro del bucle, se utiliza un operador ternario para determinar qué cadena imprimir. Si
contador es impar (residuo de la división por 2 es 1), se imprime "****". Si contador es par, se
imprime "++++++++".

En cada iteración, el valor de contador se incrementa en 1, lo que significa que alternará entre
par e impar 5 veces.

¿Qué hace el siguiente código fuente?


int x=0;

boolean flag = false;

while ((x<10) && !flag) {

System.out.println(x);

x++;

a) Muestra los números del 0 al 9


b) Muestra los números del 1 al 10
c) Muestra un 10
d) Se queda en un bucle infinito

Explicación:

El código fuente comienza declarando una variable x e inicializándola a 0 y una variable flag de
tipo booleano a false.

Luego, entra en un bucle while que se ejecuta mientras x sea menor a 10 y flag sea false.

Dentro del bucle, se imprime el valor de x usando System.out.println y luego se incrementa el


valor de x en 1 usando x++.

El bucle se ejecutará 10 veces, desde que x es 0 hasta que sea 9. En cada iteración, se imprimirá
el valor actual de x.

La variable flag no se modifica dentro del bucle, por lo que siempre será false y no afectará al
bucle.

18
Tipo Test Java

¿Cuál es el valor que se muestra por pantalla?


int x = 5;

int y = 5;

y *= x++;

System.out.println(y);

a) 25
b) 30
c) 6
d) 35

Explicación:

¿Que resultado da la siguiente operación?


System.out.println(12&13);

a) true
b) false
c) 12
d) 13

Explicación:

El operador & en Java se utiliza para realizar una operación AND a nivel de bits. En este caso, se
realiza la operación AND entre los valores binarios de 12 y 13:

• 12 (en decimal) = 1100 (en binario)

• 13 (en decimal) = 1101 (en binario)

Realizando la operación AND bit a bit:

• 1&1=1

• 1&1=1

• 0&0=0

• 0&1=0

Resultado:

• 1100 (en binario) = 12 (en decimal)

19
Tipo Test Java

¿Qué muestra el siguiente código fuente por pantalla?


int x=1;

switch (x) {

case 1:

System.out.println("Uno");

case 2:

System.out.println("Dos");

case 3:

System.out.println("Tres");

default:

System.out.println("Otro número");

a) Uno
b) Dos
c) Otro número
d) Uno Dos Tres Otro número

Explicación:

El código fuente utiliza una sentencia switch para evaluar el valor de la variable x. En este caso, x
es igual a 1, por lo que se ejecuta el caso case 1 y se imprime "Uno" por pantalla.

Los demás casos no se ejecutan porque x no es igual a 2 ni a 3. El caso default tampoco se


ejecuta porque hay un caso que coincide con el valor de x.

¿Cuál es el valor que se muestra por pantalla?


int x = 5;

int y = 5;

y *= x++;

System.out.println(x);

a) 25
b) 30
c) 6
d) 35
Explicación:

La expresión y *= x++ se evalúa de la siguiente manera:

1. x++: Se incrementa el valor de x en 1, pero el valor original (5) se utiliza para la siguiente
operación.

2. *y = 5: Se multiplica el valor de y por el valor original de x (5).

El resultado final es que y se convierte en 6 y x se convierte en 6.

20
Tipo Test Java

¿Qué hace el siguiente código fuente?


int suma = 0;

int y = 1;

int x = 0;

while (x<100) {

if (y%2!=0) {

suma+=y;

x++;

y++;

a) Suma los 100 primeros números impares


b) Suma del 1 al 100 los números que sean impares
c) Suma los 100 primeros números pares
d) Ninguna de las anteriores respuestas es válida

Explicación:

El código fuente recorre un ciclo while desde x=0 hasta x=99. En cada iteración:

1. Se comprueba si y es impar con el operador %. Si y es impar, se entra al bloque if.

2. Dentro del bloque if, se suma el valor de y a la variable suma.

3. Se incrementa el valor de x en 1.

4. Se incrementa el valor de y en 1.

Al final del ciclo, la variable suma contendrá la suma de todos los números impares desde 1 hasta
100.

¿Cuál es el valor que se muestra por pantalla?


int x = 0;

int y = 0;

while (x<5) :

y +=x;

x++;

System.out.println(y);

a) 10
b) 5
c) 0
d) El programa no compila

--> Explicación en la otra página

21
Tipo Test Java

Explicación:

El código fuente tiene un ciclo while que se ejecuta siempre que x sea menor que 5. Dentro del
ciclo:

1. Se suma el valor de x a la variable y.

2. Se incrementa el valor de x en 1.

Sin embargo, la variable y se inicializa en 0 y nunca se modifica dentro del ciclo. Por lo tanto, el
valor de y siempre será 0, independientemente de cuántas veces se ejecute el ciclo.

El ciclo se ejecuta 5 veces, una por cada valor de x desde 0 hasta 4. En cada iteración, se imprime
el valor de y, que siempre es 0.

¿Que se mostraría por pantalla?


System.out.println("Hola\nMundo");

a) "Hola Mundo"
b) "Hola\nMundo"
c) "Hola" y en otra línea "Mundo"
d) "Hola" un tabulador y "Mundo"

Es necesario utilizar el enunciado break en una estructura switch para


que el programa compile.
a) Sí, es estrictamente necesario
b) No, no es necesario
c) Sí, si hay condiciones que no se puedan dar
d) Sí, pero solo en switch que manejen enteros

Explicación:

El uso de la sentencia break en una estructura switch no es obligatorio para que el programa
compile. Sin embargo, se recomienda su uso para evitar la ejecución accidental de código que no
corresponde.

Cuando se omite la sentencia break, el programa continúa ejecutando las instrucciones del
siguiente caso, incluso si no se cumplen las condiciones. Esto puede generar errores o resultados
inesperados.

¿Cuál es el resultado de la operación?


System.out.println(2+6<<1);

a) 16
b) 14
c) 12
d) 8
Explicación:

22
Tipo Test Java

Los programas en Java se pueden construir mediante estructuras


repetitivas, selectivas y ...
a) secuenciales
b) algorítmicas
c) de cálculo
d) logarítmicas

Explicación:

Los programas en Java se pueden construir mediante tres tipos de estructuras básicas:

1. Estructuras repetitivas: Permiten ejecutar un bloque de código de forma repetida hasta


que se cumpla una condición. Las estructuras repetitivas más comunes son while, do-
while y for.

2. Estructuras selectivas: Permiten tomar decisiones en el flujo de ejecución del programa


en función de una o más condiciones. Las estructuras selectivas más comunes
son if, else y switch.

3. Estructuras secuenciales: Permiten ejecutar un conjunto de instrucciones de forma


ordenada, una después de la otra.

Las estructuras secuenciales son la base fundamental de cualquier programa en Java. Son el
"pegamento" que une las estructuras repetitivas y selectivas para crear programas complejos.

¿Cuál es el operador resto en Java?


a) /
b) %
c) mod
d) |

Explicación:

El operador resto en Java es %. Se utiliza para obtener el resto de la división entre dos
operandos.

Por ejemplo, la siguiente expresión devuelve 2:

10 % 3 = 2

23
Tipo Test Java

¿Es correcto el siguiente programa?


int value = 4;

switch (value%2) {

case 0:

System.out.println("Par");

break;

case 1:

System.out.println("Impar");

a) Sí, es correcto.
b) Es incorrecto, no se puede utilizar una operación en el switch
c) Es incorrecto, falta la opción default
d) Es incorrecto, falta un break en el case 1.
Explicación:

El programa es correcto y se ejecutará sin errores. Analicemos cada parte:

• int value = 4;: Se declara una variable value de tipo int y se le asigna el valor 4.

• switch (value%2): Se utiliza una sentencia switch para evaluar el valor de la


expresión value%2. La expresión value%2 devuelve el resto de la división de value por 2,
que en este caso es 0.

• case 0:: Se define un caso para el valor 0. Si el valor de la expresión value%2 es 0, se


ejecuta el código dentro del bloque case 0, que en este caso imprime el mensaje "Par".

• break;: Se utiliza la sentencia break para salir del bloque switch después de ejecutar el
código dentro del bloque.

• case 1:: Se define un caso para el valor 1. Si el valor de la expresión value%2 es 1, se


ejecuta el código dentro del bloque case 1, que en este caso imprime el mensaje "Impar".

No es necesario un caso default en este programa, ya que todos los valores posibles de la
expresión value%2 (0 o 1) están cubiertos por los dos casos existentes.

Tampoco es necesario un break en el caso 1, ya que el final del bloque case 1 ya provoca la salida
del switch.

¿Qué hace la siguiente sentencia del código?


x += 2;

a) Asigna el valor de 2 a la variable x


b) Suma 2 al valor de la variable x
c) Resta 2 unidades al valor de x
d) Ninguna de las tres opciones es válida

24
Tipo Test Java

MÁS PREGUNTAS VARIAS:


1. Menciona cual es la estructura de un comentario para aun sola línea

• /* */

• //

• %/

• /** * /

2. Menciona cual es la estructura de un comentario para una o varias línea

• /* */

• //

• %/

• /** * /

3. Menciona cual es la estructura de un comentario de documento, de una o


más líneas

• /* */

• //

• %/

• /** * /

4. Algunas palabras de palabras claves de java

• Booleanos true, false

• cast future generic

• abstract continue for Boolean default goto null

• Interface Implements Public Extends

5. Cual de estas son palabras reservadas de java

• cast future generic

• continue for Boolean

• default goto null

• Implements Public Extends

25
Tipo Test Java

6. Cual de estos son operadores de java

• *=/

• () . ;

• %/

• /** * /

7. ¿Qué es objeto en java?

• Es un conjunto de declaraciones de funciones

• Es una agrupación que termina una cadena de herencia.

• Es una agrupación de datos y de funciones

• Es conjunto de variables y funciones relacionadas con esas variables.

8. ¿Cuáles son las variables de objeto en java?

• Es un conjunto de declaraciones de funciones

• Encapsulamiento y herencia

• Es una agrupación de datos y de funciones

• Implements Public Extends

9. ¿Qué es una clase en java?

• Es un conjunto de declaraciones de funciones

• Es una agrupación que termina una cadena de herencia.

• Es una agrupación de datos y de funciones

• Es conjunto de variables y funciones relacionadas con esas variables.

10. A los menos cuantos métodos tiene una clase abstract

• cinco

• dos

• uno

• 28

11. Para que se utiliza la clase abstract

• Para poder ser accesibles en otras clases

• Para acceder desde otros paquetes

• Para la clase base para la herencia

• Para ser una súper clase

26
Tipo Test Java

12. Cómo se declara una clase final

• como la clase que termina una cadena de herencia

• simulando la herencia múltiple.

• mediante la palabra clase implements

• al especificar mediante la palabra clave extends

13. ¿Cómo deben estar las clases public para acceder a ellas desde otras
clases?

• Declaradas

• Importadas

• Directas

• Por herencia

14. ¿Cómo se llama la clase que termina una cadena de herencia?

• Public

• Abstract

• Public

• final

15. ¿Cómo se especifica las clases que tiene una súper clase?

• Interface

• implements

• Extends

• Object

16. Si no se especifica una súper clase se asume que se hereda de la clase

• Objects

• Extends

• Implements

• Interface

17. ¿Qué se debe utilizar para simular la herencia múltiple de una clase?

• Extends

• Public

• Implements

• Interface

27
Tipo Test Java

18. ¿Qué es una interface?

• Una súper clase

• Es un conjunto de declaraciones de funciones

• Una herencia múltiple

• Un fichero public

19. ¿Cómo se debe llamar el fichero con extensión .java?

• El fichero se debe llamar como atributo

• El fichero se debe llamar como la clase interface

• El fichero se debe llamar como la clase object

• El fichero de debe llamar como la clase public

20. Menciona los tres modificadores de acceso

• Static, final, private

• Clase, static, public

• Public, private, protected

• Class, final, static

1. ¿Qué es un Objeto?
• Es una unidad dentro de la programación que consta de un estado y un
comportamiento
• Es el comportamiento de un programa
• Es la acción a realizar
• Es la clave del problema

2. En un Objeto, el comportamiento que se define en las clases.


• Verdadero
• Falso

3. ¿Qué es un Atributo?
• Es el comportamiento de los metodos
• ES la instaciación
• Es la implementacion
• Son las características de las clases

4. ¿Qué es Encapsulamiento? Es la Habilidad del programador para ocultar


datos.
• Verdadero
• Falso

28
Tipo Test Java

5. ¿Qué es herencia? Es una Relación entre las clases en las que las clases
comparten la estructura y el comportamiento de la clase padre.
• Verdadero
• Falso

6. ¿Qué es polimorfismo? es cuando un objeto se puede comportar de muchas


formas o un método puede comportarse de muchas formas
• Verdadero
• Falso

7. ¿Qué es Persistencia? Es cuando un objeto puede transcender a través del


tiempo
• Verdadero
• Falso

8. ¿Se admite la herencia múltiple en Java? ¿SI o No?


NO

9. ¿Qué es una clase en Java?


• Es un llamado en especifico
• Es un modelo o una plantilla
• Es un comado
• Es una adtitud

10. ¿Elementos que define un objeto son: Atributos y métodos?


• Verdadero
• Falso

11. ¿Qué es una sobrecarga de métodos?


• Permiten declarar métodos que se llaman igual pero reciben
parámetros iguales
• Permiten declarar métodos que se llaman igual pero reciben diferentes
parámetros
• Permiten declarar atributos que se llaman igual
• Permiten declarar parámetros

12. ¿Qué es Sobreescribir un método?


• Es la forma por la cual una clase que hereda puede re-definir los
métodos de su padre, de esta manera puede crear nuevos métodos con
el mismo nombre de su superclase
• Permiten declarar métodos que se llaman igual pero recibes diferentes
parámetros
• Es la implementación
• Es cuando tienes 2 métodos que hacen lo mismo

13. ¿Qué es un Bytecode? Formato que obtenemos tras compilar un código


java
• Verdadero
• Falso

29
Tipo Test Java

14. ¿Cuál no es un modificador de acceso?


• public
• int
• protected
• Private

15. ¿Estas son las 4 capas para crear una aplicación Java?
1- Capa de presentación de aplicación java.
2- Capa de negocio de aplicación java.
3- Capa de persistencia de aplicación java.
4- Integración de capas en aplicación java.
• Verdadero
• Falso

1. ¿Cómo se importa una librería?

• import ...

• #import ...

• include ...

• #include

2. ¿Qué librería hay que importar para poder introducir un integer?

• javax.util.Scanner;

• java.text.Scanner;

• java.util.Scanner;

• javax.text.Scanner;

3. Estos son los únicos tipos de variables: int, char, String y byte.

• Verdadero

• Falso

4. ¿Qué resulta de este programa?

String a = "error";

String b = "023";

System.out.println(a + Integer.parseInt(b));

->ERROR23

30
Tipo Test Java

5. Está bien (verdadero) o mal (falso) declarada esta comparación:

if("texto1"=="texto2"){ return 0;

• Verdadero

• Falso

6. Y esta?

char a = 'a';

char b = 'b';

if(a==b){ return 0;

• Verdadero

• Falso

7. El símbolo % sirve para hacer divisiones entre dos integers con decimales

• Verdadero

• Falso

8. ¿Cómo se pasa este String a char? String text = "W";

• text.parseString();

• text.charAt(0);

• String.toChar(text);

• Char.toChar(text);

1. Es un operador en Java
• &&&
• =*
• <c=
• :?

2. El resultado de "C", de la siguiente operación: C = 10 % 3;.


• C=3
• C=2
• C=1
• C=0

3. ¿Cuál es la salida de la siguiente condición?

31
Tipo Test Java

public static void main(String[] args)


{
int a = 1;
boolean b = false;
if (a < O | b == true){
System.out.println("Soy verdadero");
}
else {
System.out.println("Soy falso");
}
}
• Soy verdadero
• Logica incorrecta
• Soy falso
• NaN

4. ¿Cuál es el resultado en pantalla?


public static void main(String[] args)
{
double value = 0;
if (value |= 0 && 1 / value < 1000) {
System.out.println("El valor no es demasiado pequeño.");
}
else (
System.out.println("El valor es demasiado pequeño.");
}
}
• El valor no es demasiado pequeño.
• El valor es demasiado pequeño.
• NaN
• Error

5. ¿Cuál es el resultado del siguiente código?


public static void main(String[] args)
{
int target = 144, sqrt = 1;
while (++sqrt * sqrt != target) ;
System.out.println("sqrt(" + target + ") = " + sqrt);
}
• sqrt(144) = 1
• sqrt(144) = 12
• sqrt(144) = 144
• sqrt(144) = 0

32

También podría gustarte