Sample SCJP Questions
Sample SCJP Questions
1. Which declaration of the main method below would allow a class to be started as a standalone
program. Select the one correct answer.
A. public static int main(char args[])
B. public static void main(String args[])
C. public static void MAIN(String args[])
D. public static void main(String args)
E. public static void main(char args[])
2. What all gets printed when the following code is compiled and run? Select the three correct
answers.
public class xyz {
public static void main(String args[]) {
for(int i = 0; i < 2; i++) {
for(int j = 2; j>= 0; j--) {
if(i == j) break;
System.out.println("i=" + i + " j="+j);
}
}
}
}
A.
B.
C.
D.
E.
F.
G.
H.
I.
i=0 j=0
i=0 j=1
i=0 j=2
i=1 j=0
i=1 j=1
i=1 j=2
i=2 j=0
i=2 j=1
i=2 j=2
3. What gets printed when the following code is compiled and run with the following command java test 2
Select the one correct answer.
public class test {
public static void main(String args[]) {
Integer intObj=Integer.valueOf(args[args.length-1]);
int i = intObj.intValue();
if(args.length > 1)
System.out.println(i);
if(args.length > 0)
System.out.println(i - 1);
else
System.out.println(i - 2);
}
4.
5.
6.
7.
8.
9.
A. test
B. test -1
C. 0
D. 1
E. 2
In Java technology what expression can be used to represent number of elements in an array
named arr ?
How would the number 5 be represented in hex using up-to four characters.
Which of the following is a Java keyword. Select the four correct answers.
A. extern
B. synchronized
C. volatile
D. friend
E. friendly
F. transient
G. this
H. then
Is the following statement true or false. The constructor of a class must not have a return type.
A. true
B. false
What is the number of bytes used by Java primitive long. Select the one correct answer.
A. The number of bytes is compiler dependent.
B. 2
C. 4
D. 8
E. 64
What is returned when the method substring(2, 4) is invoked on the string "example"? Include
the answer in quotes as the result is of type String.
10. Which of the following is correct? Select the two correct answers.
A. The native keyword indicates that the method is implemented in another language like
C/C++.
B. The only statements that can appear before an import statement in a Java file are
comments.
C. The method definitions inside interfaces are public and abstract. They cannot be private
or protected.
D. A class constructor may have public or protected keyword before them, nothing else.
11. What is the result of evaluating the expression 14 ^ 23. Select the one correct answer.
A. 25
B. 37
C. 6
D. 31
E. 17
F. 9
G. 24
12. Which of the following are true. Select the one correct answers.
A. && operator is used for short-circuited logical AND.
B. ~ operator is the bit-wise XOR operator.
C. | operator is used to perform bitwise OR and also short-circuited logical OR.
D. The unsigned right shift operator in Java is >>.
13. Name the access modifier which when used with a method, makes it available to all the classes
in the same package and to all the subclasses of the class.
14. Which of the following is true. Select the two correct answers.
A. A class that is abstract may not be instantiated.
B. The final keyword indicates that the body of a method is to be found elsewhere. The
code is written in non-Java language, typically in C/C++.
C. A static variable indicates there is only one copy of that variable.
D. A method defined as private indicates that it is accessible to all other classes in the same
package.
15. What all gets printed when the following program is compiled and run. Select the two correct
answers.
public class test {
public static void main(String args[]) {
int i, j=1;
i = (j>1)?2:1;
switch(i) {
case 0: System.out.println(0); break;
case 1: System.out.println(1);
case 2: System.out.println(2); break;
case 3: System.out.println(3); break;
}
}
}
A.
B.
C.
D.
0
1
2
3
16. What all gets printed when the following program is compiled and run. Select the one correct
answer.
public class test {
public static void main(String args[]) {
int i=0, j=2;
do {
i=++i;
j--;
} while(j>0);
System.out.println(i);
}
}
A. 0
B. 1
C. 2
D. The program does not compile because of statement "i=++i;"
17. What all gets printed when the following gets compiled and run. Select the three correct
answers.
public class test {
public static void main(String args[]) {
int i=1, j=1;
try {
i++;
j--;
if(i/j > 1)
i++;
}
catch(ArithmeticException e) {
System.out.println(0);
}
catch(ArrayIndexOutOfBoundsException e) {
System.out.println(1);
}
catch(Exception e) {
System.out.println(2);
}
finally {
System.out.println(3);
}
System.out.println(4);
}
}
A.
B.
C.
D.
E.
0
1
2
3
4
18. What all gets printed when the following gets compiled and run. Select the two correct answers.
public class test {
public static void main(String args[]) {
int i=1, j=1;
try {
i++;
j--;
if(i == j)
i++;
}
catch(ArithmeticException e) {
System.out.println(0);
}
catch(ArrayIndexOutOfBoundsException e) {
System.out.println(1);
}
catch(Exception e) {
System.out.println(2);
}
finally {
System.out.println(3);
}
System.out.println(4);
}
}
A. 0
B. 1
C. 2
D. 3
E. 4
19. What all gets printed when the following gets compiled and run. Select the two correct answers.
public class test {
public static void main(String args[]) {
String s1 = "abc";
String s2 = "abc";
if(s1 == s2)
System.out.println(1);
else
System.out.println(2);
if(s1.equals(s2))
System.out.println(3);
else
System.out.println(4);
}
}
A.
B.
C.
D.
1
2
3
4
20. What all gets printed when the following gets compiled and run. Select the two correct answers.
public class test {
public static void main(String args[]) {
String s1 = "abc";
String s2 = new String("abc");
if(s1 == s2)
System.out.println(1);
else
System.out.println(2);
if(s1.equals(s2))
System.out.println(3);
else
System.out.println(4);
}
A. 1
B. 2
C. 3
D. 4
21. Which of the following are legal array declarations. Select the three correct answers.
A. int i[5][];
B. int i[][];
C. int []i[];
D. int i[5][5];
E. int[][] a;
22. What is the range of values that can be specified for an int. Select the one correct answer.
A. The range of values is compiler dependent.
B. -231 to 231 - 1
C. -231-1 to 231
D. -215 to 215 - 1
E. -215-1 to 215
23. How can you ensure that the memory allocated by an object is freed. Select the one correct
answer.
A. By invoking the free method on the object.
B. By calling system.gc() method.
C. By setting all references to the object to new values (say null).
D. Garbage collection cannot be forced. The programmer cannot force the JVM to free the
memory used by an object.
24. What gets printed when the following code is compiled and run. Select the one correct answer.
public class test {
public static void main(String args[]) {
int i = 1;
do {
i--;
} while (i > 2);
System.out.println(i);
}
}
A. 0
B. 1
C. 2
D. -1
25. Which of these is a legal definition of a method named m assuming it throws IOException, and
returns void. Also assume that the method does not take any arguments. Select the one correct
answer.
A. void m() throws IOException{}
B. void m() throw IOException{}
C. void m(void) throws IOException{}
D. m() throws IOException{}
E. void m() {} throws IOException
26. Which of the following are legal identifier names in Java. Select the two correct answers.
A. %abcd
B. $abcd
C. 1abcd
D. package
E. _a_long_name
27. At what stage in the following method does the object initially referenced by s becomes
available for garbage collection. Select the one correct answer.
void method X() {
String r = new String("abc");
String s = new String("abc");
r = r+1; //1
r = null; //2
s = s + r; //3
} //4
A.
B.
C.
D.
E.
34. What is the name of the Collection interface used to represent elements in a sequence (in a
particular order). Select the one correct answer.
A. Collection
B. Set
C. List
D. Map
35. Which of these classes implement the Collection interface SortedMap. Select the one correct
answers.
A. HashMap
B. Hashtable
C. TreeMap
D. HashSet
E. TreeSet
F. Vector
36. Which of the following are true about interfaces. Select the two correct answers.
A. Methods declared in interfaces are implicitly private.
B. Variables declared in interfaces are implicitly public, static, and final.
C. An interface can extend any number of interfaces.
D. The keyword implements indicate that an interface inherits from another.
37. Assume that class A extends class B, which extends class C. Also all the three classes
implement the method test(). How can a method in a class A invoke the test() method defined in
class C (without creating a new instance of class C). Select the one correct answer.
A. test();
B. super.test();
C. super.super.test();
D. ::test();
E. C.test();
F. It is not possible to invoke test() method defined in C from a method in A.
38. What is the return type of method round(double d) defined in Math class.
39. What gets written on the screen when the following program is compiled and run. Select the
one right answer.
public class test {
public static void main(String args[]) {
int i;
float f = 2.3f;
double d = 2.7;
i = ((int)Math.ceil(f)) * ((int)Math.round(d));
System.out.println(i);
}
}
A.
B.
C.
D.
E.
4
5
6
6.1
9
40. Is the following statement true or false. As the toString method is defined in the Object class,
System.out.println can be used to print any object.
A. true
B. false
41. Which of these classes defined in java.io and used for file-handling are abstract. Select the two
correct answers.
A. InputStream
B. PrintStream
C. Reader
D. FileInputStream
E. FileWriter
42. Name the collection interface used to represent collections that maintain unique elements.
43. What is the result of compiling and running the following program.
public class test {
public static void main(String args[]) {
String str1="abc";
String str2="def";
String str3=str1.concat(str2);
str1.concat(str2);
System.out.println(str1);
A. abc
B. def
C. abcabc
D. abcdef
E. defabc
F. abcdefdef
44. Select the one correct answer. The number of characters in an object of a class String is given
by
A. The member variable called size
B. The member variable called length
C. The method size() returns the number of characters.
D. The method length() returns the number of characters.
45. Select the one correct answer. Which method defined in Integer class can be used to convert an
Integer object to primitive int type.
A. valueOf
B. intValue
C. getInt
D. getInteger
46. Name the return type of method hashCode() defined in Object class, which is used to get the
unique hash value of an Object.
47. Which of the following are correct. Select the one correct answer.
A. An import statement, if defined, must always be the first non-comment statement of the
file.
B. private members are accessible to all classes in the same package.
C. An abstract class can be declared as final.
D. Local variables cannot be declared as static.
48. Name the keyword that makes a variable belong to a class, rather than being defined for each
instance of the class. Select the one correct answer.
A. static
B. final
C. abstract
D. native
E. volatile
F. transient
49. Which of these are core interfaces in the collection framework. Select the one correct answer.
A. Tree
B. Stack
C. Queue
D. Array
E. LinkedList
F. Map
50. Which of these statements are true. Select the two correct answers.
A. For each try block there must be at least one catch block defined.
B. A try block may be followed by any number of finally blocks.
C. A try block must be followed by at least one finally or catch block.
D. If both catch and finally blocks are defined, catch block must precede the finally block.
51. Which of the following are Java keywords? Select the three correct answers.
A. external
B. implement
C. throw
D. void
E. integer
F. private
G. synchronize
H. unsigned
52. Which of the following are legal definitions of the main method that can be used to execute a
class. Select the one correct answer.
A. public void main(String args)
B. public static int main(String args[])
C. public static void main(String args[])
D. static public void MAIN(String args[])
E. public static void main(string args[])
F. public static void main(String *args)
53. Which of these are legal array declarations or definitions? Select the two correct answers.
A. int[] []x[];
B. int *x;
C. int x[5];
D. int[] x = {1,2,3};
54. Name the collection interface used to represent a sequence of numbers in a fixed order.
55. The class Hashtable is used to implement which collection interface. Select the one correct
answer.
A. Table
B. List
C. Set
D. SortedSet
E. Map
56. What gets printed when the following program is compiled and run? Select the one correct
answer.
class test {
public static void main(String args[]) {
int i;
do {
i++;
}
while(i < 0);
System.out.println(i);
}
}
A.
B.
C.
D.
E.
57. What gets printed when the following program is compiled and run? Select the one correct
answer.
class xyz {
static int i;
public static void main(String args[]) {
while (i < 0) {
i--;
}
System.out.println(i);
}
}
A.
B.
C.
D.
E.
58. What gets printed when the following program is compiled and run? Select the one correct
answer.
class xyz {
&& (j==k))
System.out.println(i);
}
}
}
}
}
A.
B.
C.
D.
E.
0
1
2
3
4
59. Using up to four characters what is the Java representation of the number 23 in hex?
60. What gets printed when the following program is compiled and run? Select the one correct
answer.
class test {
static boolean check;
public static void main(String args[]) {
int i;
if(check == true)
i=1;
else
i=2;
if(i=2) i=i+2;
else i = i + 4;
System.out.println(i);
}
}
A.
B.
C.
D.
E.
3
4
5
6
The program does not compile because of the statement if(i=2)
61. Select the one correct answer. The smallest number that can be represented using short
primitive type in Java is A. 0
B. -127
C. -128
D. -16384
E. -32768
F. The smallest number is compiler dependent.
62. Given the following declarations, which of the assignments given in the options below would
compile. Select the two correct answers.
int i = 5;
boolean t = true;
float f = 2.3F;
double d = 2.3;
A.
B.
C.
D.
E.
t = (boolean) i;
f = d;
d = i;
i = 5;
f = 2.8;
63. What gets printed when the following program is compiled and run. Select the one correct
answer.
public class incr {
public static void main(String args[]) {
int i , j;
i = j = 3;
int n = 2 * ++i;
int m = 2 * j++;
System.out.println(i + " " + j + " " + n + " " + m);
}
}
A.
B.
C.
D.
E.
F.
4486
4488
4466
4386
4388
4468
64. Given two non-negative integers a and b and a String str, what is the number of characters in the
expression str.substring(a,b) . Select the one correct answer.
A. a + b
B. a - b
C. b - a - 1
D. b - a + 1
E. b - a
F. b
65. What is the result of compiling and running the following program. Select the one correct
answer.
class test {
public static void main(String args[]) {
char ch;
String test2 = "abcd";
String test = new String("abcd");
if(test.equals(test2)) {
if(test == test2)
ch = test.charAt(0);
else
ch = test.charAt(1);
}
else {
if(test == test2)
ch = test.charAt(2);
else
ch = test.charAt(3);
}
System.out.println(ch);
}
}
A.
B.
C.
D.
'a'
'b'
'c'
'd'
66. What is the result of compiling and running the following program. Select the one correct
answer.
class test {
public static void main(String args[]) {
int i,j=0;
for(i=10;i<0;i--) { j++; }
switch(j) {
case (0) :
j=j+1;
case(1):
j=j+2;
break;
case (2) :
j=j+3;
break;
case (10) :
j=j+10;
break;
default :
break;
}
System.out.println(j);
}
}
A.
B.
C.
D.
E.
F.
0
1
2
3
10
20
67. What is the number displayed when the following program is compiled and run.
class test {
public static void main(String args[]) {
test test1 = new test();
System.out.println(test1.xyz(100));
}
public int xyz(int num) {
if(num == 1) return 1;
else return(xyz(num-1) + num);
}
}
68. Which of the following statements are true. Select the one correct answer.
A. Arrays in Java are essentially objects.
B. It is not possible to assign one array to another. Individual elements of array can
however be assigned.
C. Array elements are indexed from 1 to size of array.
D. If a method tries to access an array element beyond its range, a compile warning is
generated.
69. Which expression can be used to access the last element of an array. Select the one correct
answer.
A. array[array.length()]
B. array[array.length() - 1]
C. array[array.length]
D. array[array.length - 1]
70. What is the result of compiling and running the following program. Select the one correct
answer.
class test {
public static void main(String args[]) {
int[] arr = {1,2,3,4};
call_array(arr[0], arr);
A.
B.
C.
D.
1,2
5,2
1,6
5,6
71. Which of the following statements are correct. Select the one correct answer.
A. Each Java file must have exactly one package statement to specify where the class is
stored.
B. If a Java file has both import and package statement, the import statement must come
before package statement.
C. A Java file has at least one class defined.
D. If a Java file has a package statement, it must be the first statement (except comments).
72. What happens when the following program is compiled and then the command "java check it
out" is executed. Select the one correct answer.
class check {
public static void main(String args[]) {
System.out.println(args[args.length-2]);
}
}
A.
B.
C.
D.
E.
F.
73. What all gets printed when the following code is compiled and run. Select the three correct
answers.
class test {
public static void main(String args[]) {
int i[] = {0,1};
try {
i[2] = i[0] + i[1];
}
catch(ArrayIndexOutOfBoundsException e1) {
System.out.println("1");
}
catch(Exception e2) {
System.out.println("2");
}
finally {
System.out.println(3);
}
System.out.println("4");
}
}
A.
B.
C.
D.
1
2
3
4
74. A program needs to store the name, salary, and age of employees in years. Which of the
following data types should be used to create the Employee class. Select the three correct
answers.
A. char
B. boolean
C. Boolean
D. String
E. int
F. double
75. To make a variable defined in a class accessible only to methods defined in the classes in same
package, which of the following keyword should be used. Select the one correct answer.
A. By using the keyword package before the variable.
B. By using the keyword private before the variable.
C. By using the keyword protected before the variable.
D. By using the keyword public before the variable.
E. The variable should not be preceded by any of the above mentioned keywords.
76. In implementing two classes Employee and Manager, such that each Manager is an Employee,
what should be the relationship between these classes. Select the one correct answer.
A. Employee should be the base class of Manager class.
B. Manager should be the base class of Employee class.
C. Manager class should include the Employee class as a data member.
D. Employee class should include Manager class as a data member.
E. The Manager and Employee should not have any relationship.
77. Select the one most appropriate answer. What is the purpose of method parseInt defined in
Integer class.
A. The method converts an integer to a String.
B. The method is used to convert String to an integer, assuming that the String represents
an integer.
C. The method is used to convert String to Integer class, assuming that the String represents
an integer.
D. The method converts the Integer object to a String.
78. What should be done to invoke the run() method on a thread for an object derived from the
Thread class. Select the one correct answer.
A. The run() method should be directly invoked on the Object.
B. The start() method should be directly invoked on the Object.
C. The init() method should be directly invoked on the Object.
D. The creation of the object using the new operator would create a new thread and invoke
its run() method.
79. What is the default priority of a newly created thread.
A. MIN_PRIORITY (which is defined as 1 in the Thread class.)
B. NORM_PRIORITY (which is defined as 5 in the Thread class.)
C. MAX_PRIORITY (which is defined as 10 in the Thread class.)
A thread inherits the priority of its parent thread.
80. Bonus!