miércoles, 29 de julio de 2009

SCJP Preguntas y Respuestas Serie 1

Preguntas

Pregunta 1:
Dado el siguiente código:
1. public class Test {
2. public static void main(String [] args) {
3. signed int x = 10;
4. for (int y=0; y<5; y++, x--)
5. System.out.print(" " + x);
6. }
7. }

¿Cuál es el resultado? (Selecciona uno.)
A. 10 9 8 7 6
B. 9 8 7 6 5
C. La compilación falla
D. Una excepción es lanzada en tiempo de ejecución

Pregunta 2:
¿Cuál es una palabra reservada en el lenguaje de programación Java? (Selecciona una)
A. method
B. native
C. subclasses
D. reference
E. array

Pregunta 3
¿Cuál de estas listas contiene solo palabras reservadas del lenguaje java?(Selecciona una)
A. class, if, void, long, Int, continue
B. goto, instanceof, native, finally, default, throws
C. try, virtual, throw, final, volatile, transient
D. strictfp, constant, super, implements, do
E. byte, break, assert, switch, include

Pregunta 4
¿Cuáles dos son palabras reservadas? (Selecciona dos)
A. interface
B. unsigned
C. Float
D. this
E. string

Pregunta 5
¿Cuáles tres son declaraciones válidas de un char? (Selecciona tres)
A. char c1 = 064770;
B. char c2 = ‘face’;
C. char c3 = 0xbeef;
D. char c4 = \u0022;
E. char c5 = ‘\iface’;
F. char c6 = ‘\uface’;

Pregunta 6
¿Cuáles dos son declaraciones válidas de un String? (Selecciona dos)
A. String s1 = null;
B. String s2 = ‘null’;
C. String s3 = (String) ‘abc’;
D. String s4 = (String) ‘\ufeed’;
E. String s5 = “strings rule”;

Pregunta 7
¿Cuál es una declaración válida de un tipo de dato boolean? (Selecciona uno)
A. boolean b1 = 0;
B. boolean b2 = ‘false’;
C. boolean b3 = false;
D. boolean b4 = Boolean.false();
E. boolean b5 = no;

Pregunta 8
¿Cuál es el rango númerico de un char? (Selecciona uno)
A. –128 to 127
B. –(2 ^ 15) to (2 ^ 15) - 1
C. 0 to 32767
D. Depende de la plataforma
E. 0 to 65535

Pregunta 9
¿Cuáles tres son declaraciones válidas de un float? (Selecciona tres)
A. float f1 = -343;
B. float f2 = 3.14;
C. float f3 = 0x12345;
D. float f4 = 42e7;
E. float f5 = 2001.0D;
F. float f6 = 2.81F;

Pregunta 10
¿Cuáles tres son declaraciones legales de un arreglo? (Selecciona tres)
A. int [] puntajes [];
B. char [] caracteres;
C. int [6] caracteres;
D. Persona personas [];
E. Persona personas [7];


Si ya llegaste hasta aquí apunta bien tus respuestas y comparalas con las respuestas de abajo, recuerda que para certificarte tienes que sacar un mínimo de 70%(acostumbrate a la autoevaluación)


Respuestas
Respuesta 1:
C. La palabra signed no es un modificador válido como palabra reservada en el lenguaje Java. Todos los números primitivos en java tienen signo, siempre.

Respuesta 2:
B. La palabra native es una palabra reservada válida que es usada para modificar la declaración de un método. Las alternativas A, D, y E no son palabras reservadas. C no puede ser porque la palabra reservada para subclasear(herencia) es extends no subclasses.

Respuesta 3.
B. Todas las palabras en la alternativa B son parte de las palabras reservadas java. A está mal porque la palabra reservada para el primitivo int inicia con una letra minúscula i. C tambien está mal porque virtual es una palabra reservada en C++, no en Java. D tampoco es porque constant
no es una palabra reservada, las constantes en Java son declaradas como static y final. E tampo es porque include es una palabra reservada en C, no en Java.

Respuesta 4.
A y D. Tanto interface y this son palabras reservadas. B esta mal porque unsigned es una palabra reservada en C/C++ pero no en Java. C tambien está mal porque Float es un tipo de clase, la palabra reservada para el primitivo Java es float. E tambien está mal porque aunque String es un tipo de clase en Java, string no es una palabra reservada.

Respuesta 5.
A, C y F. A es una representación octal del valor enter 27128, el cuál es legal porque pertenece a un tipo de dato entero de 16bits sin signo. C es una representación hexadecimal del valor entero 48879, el cuál pertenece tambien a un tipo de dato entero de 16bits sin signo. F es una representación Unicode de un caracter. B está mal porque no podemos colocar más de un caracter en un literal de caracteres.(esto lo podemos saber porque esta entre comillas simples). Los unicos aceptables literales de caracter que pueden ir entre comillas simples son valores Unicode, y los literales Unicode deben siempre iniciar con '\u'. D tambien está mal porque las comillas simples no aparecen. E tambien es incorrecto porque parece ser una representación Unicode pero inicia con '\i' en vez de '\u'.

Respuesta 6.
A y E. A coloca la referencia String a null; E inicializa la referencia String con un literal.
B es incorrecto porque un null no puede estar entre comillas simples. C es incorrecto porque allí existen multiples caracteres entre las comillas simples(‘abc’). D tambien es incorrecto porque no podemos castear(pasar el valor de una variable de un tipo de dato a otro) un primitivo char a un objeto String.

Respuesta 7.
C. A un boolean solo puede ser asignado el literal true o false. A, B, D, and E son todas asignaciones incorrectas para un boolean.

Respuesta 8.
E. Un char es realmente un entero sin signo de 16bits.

Respuesta 9.
A, C, y F. A y C son literales de enteros (32 bits), y los enteros pueden ser legalmente asignados a floats (que tambien son de 32 bits). F es correcto porque F es agregado al literal, declarandolo como float mas que como un double( el tipo de dato por default para literales de punto flotante, osea decimales). B, D, y E son todos doubles.

Respuesta 10.
A, B, y D. En una declaración de arreglo, podemos colocar los corchetes a la derecha o a la izquierda del identificador. A parece extraño, pero es perfectamente legal porque divide los corchetes y hace un arreglo multidimensional, colocando los corchetes a ambos lados del identificador. C y E son incorrectos porque no podemos declarar un arreglo con un tamaño, el tamaño es solo necesario cuando el arreglo va a instanciarse(y la máquina virtual Java necesita conocer cuanto espacio de memoria asignar al arreglo, basado en el tipo del arreglo y su tamaño).

1 comentario:

  1. Hola Carlos.. ante todo felicitarte por compartir tus conocimientos, espero poder tambien compartir contigo mis conocimientos en Java, Bueno yo trabajo con Jdeveloper ADF (que no requiere saber mucho java.. pero la verdad la experiencia me dice todo lo contrario).
    Soy al igual que tu Peruano vivo en Lima y estoy con la mentalidad en Certificarme en SCJP, se que lo voy a lograr y espero que con tu ayuda sea mas facil lograr mi objetivo.

    Ahora sobre las preguntas.. obtuve solo el 60% de respuestas validas... al parecere debo aprender mejor los conceptos basicos.

    Gracias Carlos

    ResponderBorrar

Es bueno comunicarnos, comenta!!.