From : http://www.sipachiangmai.org/pdf/SCJP_Mock.pdf
Can send answer to cnxcoder@gmail.com

QUESTION NO: 1
Given:
1. public class Test {
2. public static void main(String args[]) {
3. class Foo {
4. public int i = 3;
5. }
6. Object o = (Object)new Foo();
7. Foo foo = (Foo)o;
8. System.out.println(“i = “ + foo.i);
9. }
10. }
What is the result?
A. i = 3
B. Compilation fails.
C. A ClassCastException is thrown at line 6.
D. A ClassCastException is thrown at line 7.

QUESTION NO: 2
Which two cause a compiler error? (Choose two)
A. float[] = new float(3);
B. float f2[] = new float[];
C. float[] f1 = new float[3];
D. float f3[] = new float[3];
E. float f5[] = { 1.0f, 2.0f, 2.0f };
F. float f4[] = new float[] { 1.0f. 2.0f. 3.0f};

QUESTION NO: 3
Given:
11. int i =1,j =10;
12. do {
13. if(i++> --j) {
14. continue;
15. }
16. } while (i <5);
17. System.out.println(“i = “ +i+ “and j = “+j);
What is the result?
A. i = 6 and j = 5
B. i = 5 and j = 5
C. i = 6 and j = 5
D. i = 5 and j = 6
E. i = 6 and j = 6

QUESTION NO: 4
Given:
1. class Test {
2. private Demo d;
3. void start() {
4. d = new Demo();
5. this.takeDemo(d);
6. }
7.
8. void takeDemo(Demo demo) {
9. demo = null;
10. demo = new Demo();
11. }
12. }
When is the Demo object, created on line 3, eligible for garbage collection?
A. After line 5.
B. After line 9.
C. After the start() method completes.
D. When the takeDemo() method completes.
E. When the instance running this code is made eligible for garbage collection.

QUESTION NO: 5
Given:
1. interface Animal {
2. void soundOff();
3. }
4.
5. class Elephant implements Animal {
6. public void soundOff() {
7. System.out.println(“Trumpet”);
8. }
9. }
10.
11. class Lion implements Animal {
12. public void soundOff() {
13. System.out.println(“Roar”);
14. }
15. }
16.
17. class Alpha1 {
18. static Animal get( String choice ) {
19. if ( choice.equalsIgnoreCase( “meat eater” )) {
20. return new Lion();
21. } else {
22. return new Elephant();
23. }
24. }
25. }
Which compiles?
A. new Animal().soundOff();
B. Elephant e = new Alpha1();
C. Lion 1 = Alpha.get(“meat eater”);
D. new Alpha1().get(“veggie”).soundOff();

QUESTION NO: 6
Which statement is true?
A. Memory is reclaimed by calling Runtime.gc().
B. Objects are not collected if they are accessible from live threads.
C. Objects that have finalize() methods are never garbage collected.
D. Objects that have finalize() methods always have their finalize() methods called before
the program ends.
E. An OutOfMemory error is only thrown if a single block of memory cannot be found
that is large enough for a particular requirement.

QUESTION NO: 7
Given:
1. class A {
2. A() { }
3. }
4.
5. class B extends A {
6. }
Which two statements are true? (Choose two)
A. Class B’s constructor is public.
B. Class B’s constructor has no arguments.
C. Class B’s constructor includes a call to this().
D. Class B’s constructor includes a call to super().

QUESTION NO: 8
Given:
11. int i = 1,j = 10;
12. do {
13. if(i>j) {
14. break;
15. }
16. j--;
17. } while (++i <5);
18. System.out.println(“i =” +i+” and j = “+j);
What is the result?
A. i = 6 and j = 5
B. i = 5 and j = 5
C. i = 6 and j = 4
D. i = 5 and j = 6
E. i = 6 and j = 6

QUESTION NO: 9
Which statement is true?
A. Assertions can be enabled or disabled on a class-by-class basis.
B. Conditional compilation is used to allow tested classes to run at full speed.
C. Assertions are appropriate for checking the validity of arguments in a method.
D. The programmer can choose to execute a return statement or to throw an exception if
an assertion fails.

QUESTION NO: 10
You want a class to have access to members of another class in the same package.
Which
is the most restrictive access that accomplishes this objective?
A. public
B. private
C. protected
D. transient
E. default access

QUESTION NO: 11
Given:
11. int x = 3;
12. int y = 1;
13. if (x = y) {
14. System.out.println(“x = “ + x);
15. }
What is the result?
A. x = 1
B. x = 3
C. Compilation fails.
D. The code runs with no output.
E. An exception is thrown at runtime.

QUESTION NO: 12
Given:
1. public class Test {
2. public static void aMethod() throws Exception {
3. try {
4. throw new Exception();
5. } finally {
6. System.out.println(“finally”);
7. }
8. }
9. public static void main(String args[]) {
10. try {
11. aMethod();
12. } catch (Exception e) {
13. System.out.println(“exception”);
14. }
15. System.out.println(“finished”);
16. }
17. }
What is the result?
A. finally
B. exception
finished
C. finally
exception
finished
D. Compilation fails.

QUESTION NO: 13
Given:
1. public interface Foo {
2. int k = 4;
3. }
Which three are equivalent to line 2? (Choose three)
A. final int k = 4;
B. public int k = 4;
C. static int k = 4;
D. abstract int k = 4;
E. volatile int k = 4;
F. protected int k = 4;

QUESTION NO: 14
Given:
1. package test1;
2. public class Test1 {
3. static int x = 42;
4. }
1. package test2;
2. public class Test2 extends test1.Test1 {
3. public static void main(String[] args) {
4. System.out.println(“x = “ + x);
5. }
6. }
What is the result?
A. x = 0
B. x = 42
C. Compilation fails because of an error in line 2 of class Test2.
D. Compilation fails because of an error in line 3 of class Test1.
E. Compilation fails because of an error in line 4 of class Test2.

QUESTION NO: 15
Given:
1. class A {
2. protected int method1(int a, int b) { return 0; }
3. }
Which two are valid in a class that extends class A? (Choose two)
A. public int method1(int a, int b) { return 0; }
B. private int method1(int a, int b) { return 0; }
C. private int method1(int a, long b) { return 0; }
D. public short method1(int a, int b) { return 0: }
E. static protected int method1(int a, int b) { return 0; }

QUESTION NO: 16
Given:
1. public class Delta {
2. static boolean foo(char c) {
3. System.out.print(c);
4. return true;
5. }
6. public static void main( String[] argv ) {
7. int i =0;
8. for ( foo(‘A’); foo(‘B’)&&(i<2); foo(‘C’)){
9. i++ ;
10. foo(‘D’);
12. }
13. }
14. }
What is the result?
A. ABDCBDCB
B. ABCDABCD
C. Compilation fails.
D. An exception is thrown at runtime.

QUESTION NO: 17
Given:
1. public class Test{
2. public static void main( String[] argv ){
3. // insert statement here
4. }
5. }
Which statement, inserted at line 3, produces the following output?
Exception in thread “main” java.lang.AssertionError: true
at Test.main(Test.java:3)
A. assert true;
B. assert false;
C. assert false : true;
D. assert false == true;
E. assert false: false;

QUESTION NO: 18
Given:
1. public class ArrayTest {
2. public static void main(String[] args) {
3. float fl[], f2[];
4. fl = new float[10];
5. f2 = f1;
6. System.out.println(“f2[0]= “ + f2[0]);
7. }
8. }
What is the result?
A. It prints f2[0] = 0.0.
B. It prints f2[0] = NaN.
C. An error at line 5 causes compile to fail.
D. An error at line 6 causes compile to fail.
E. An error at line 6 causes an expectation at runtime.

QUESTION NO: 19
Given:
1. public class Test {
2. public int aMethod() {
3. static int i = 0;
4. i++;
5. return i;
6. }
7. public static void main (String args[]) {
8. Test test = new Test();
9. test.aMethod();
10. int j = test.aMethod();
11. System.out.println(j);
12. }
13. }
What is the result?
A. 0
B. 1
C. 2
D. Compilation fails.

QUESTION NO: 20
Given:
1. class Super {
2. public float getNum() { return 3.0f; }
3. }
4.
5. public class Sub extends Super {
6.
7. }
Which method, placed at line6, causes compilation to fail?
A. public void getNum() { }
B. public void getNum(double d) { }
C. public float getNum() { return 4.0f; }
D. public double getNum(float d) { return 4.0d; }

QUESTION NO: 21
Given:
11. boolean bool = true;
12. if(bool = false) {
13. System.out.println(“a”);
14. } else if (bool) {
15. System.out.println(“c”);
16. } else if (!bool) {
17. System.out.println(“c”);
18. } else {
19. System.out.println(“d”);
20. }
What is the result?
A. a
B. b
C. c
D. d
E. Compilation fails.

QUESTION NO: 22
Which statement is true?
A. catch(X x) can catch subclasses of X.
B. The Error class is a RuntimeException.
C. Any statement that can throw an Error must be enclosed in a try block.
D. Any statement that can throw an Exception must be enclosed in a try block.
E. Any statement that can throw a RuntimeException must be enclosed in a try
block.

QUESTION NO: 23
Which statement is true about assertion in the Java programming language?
A. Assertion expressions should not contain side effects.
B. Assertion expression values can be any primitive type.
C. Assertion should be used for enforcing preconditions on public methods.
D. An AssertionError thrown as a result of a failed assertion should always be handled by
the enclosing method.

QUESTION NO: 24
Given:
1. package foo;
2.
3. import java.util.Vector;
4.
5. private class MyVector extends Vector {
6. int i = 1;
7. public MyVector() {
8. i = 2;
9. }
10. }
11.
12. public class MyNewVector extends MyVector {
13. public MyNewVector() {
14. i = 4;
15. }
16. public static void main(String args[]) {
17. MyVector v = new MyNewVector();
18. }
19. }
What is the result?
A. Compilation succeeds.
B. Compilation fails because of an error at line 5.
C. Compilation fails because of an error at line 6.
D. Compilation fails because of an error at line 14.
E. Compilation fails because of an error at line 17.

QUESTION NO: 25
Given:
1. class TestSuper {
2. TestSuper(int i) { }
3. }
4. class TestSub extends TestSuper{ }
5. class TestAll {
6. public static void main (String [] args) {
7. new TestSub();
8. }
9. }
Which is true?
A. Compilation fails.
B. The code runs without exception.
C. An exception is thrown at line 7.
D. An exception is thrown at line 2.

QUESTION NO: 26
Given:
10. int i = 0;
11. for (; i <4; i += 2) {
12. System.out.print(i + “”);
13. }
14. System.out.println(i);
What is the result?
A. 0 2 4
B. 0 2 4 5
C. 0 1 2 3 4
D. Compilation fails.
E. An exception is thrown at runtime.

QUESTION NO: 27
Given:
1. public class SwitchTest {
2. public static void main(String[] args) {
3. System.out.println(“value = “ + switchIt(4));
4. }
5. public static int switchIt(int x) {
6. int j = 1;
7. switch (x) {
8. case 1: j++;
9. case 2: j++;
10. case 3: j++;
11. case 4: j++;
12. case 5: j++;
13. default: j++;
14. }
15. return j + x;
16. }
17. }
What is the result?
A. value = 3
B. value = 4
C. value = 5
D. value = 6
E. value = 7
F. value = 8

QUESTION NO: 28
Which three form part of correct array declarations? (Choose three)
A. public int a []
B. static int [] a
C. public [] int a
D. private int a [3]
E. private int [3] a []
F. public final int [] a

QUESTION NO: 29
Given:
1. public class Foo {
2. public static void main(String[] args) {
3. try {
4. return;
5. } finally {
6. System.out.println( “Finally” );
7. }
8. }
9. }
What is the result?
A. Finally
B. Compilation fails.
C. The code runs with no output.
D. An exception is thrown at runtime.

QUESTION NO: 30
Given:
ClassOne.java:
1. package com.abe.pkg1;
2. public class ClassOne {
3. private char var = ‘a’;
4. char getVar() { return var; }
5. }
ClassTest.java:
1. package com.abe.pkg2;
2. import com.abc.pkg1.ClassOne;
3. public class ClassTest extends ClassOne {
4. public static void main(String[] args) {
5. char a = new ClassOne().getVar();
6. char b = new ClassTest().getVar();
7. }
8. }
What is the result?
A. Compilation fails.
B. Compilation succeeds and no exceptions are thrown.
C. An exception is thrown at line 5 in ClassTest.java.
D. An exception is thrown at line 6 in ClassTest.java.

QUESTION NO: 31
Given:
1. public class Alpha1 {
2. public static void main( String[] args ) {
3. boolean flag; int i=0;
5. do {
6. flag = false;
7. System.out.println( i++ );
8. flag = i < 10;
9. continue;
10. } while ( (flag)? true:false );
11. }
12. }
What is the result?
A. 000000000
B. 0123456789
C. Compilation fails.
D. The code runs with no output.
E. The code enters an infinite loop.
F. An exception is thrown at runtime.

QUESTION NO: 32
Given:
1. package foo;
2.
3. import java.util.Vector;
4.
5. protected class MyVector Vector {
6. init i = 1;
7. public MyVector() {
8. i = 2;
9. }
10. }
11.
12. public class MyNewVector extends MyVector {
13. public MyNewVector() {
14. i = 4;
15. }
16. public static void main(String args[]) {
17. MyVector v = new MyNewVector();
18. }
19. }
What is the result?
A. Compilation succeeds.
B. Compilation fails because of an error at line 5.
C. Compilation fails because of an error at line 6.
D. Compilation fails because of an error at line 14.
E. Compilation fails because of an error at line 17.

QUESTION NO: 33
Given:
1. class Super {
2. public Integer getLenght() { return new Integer(4); }
3. }
4.
5. public class Sub extends Super {
6. public Long GetLenght() { return new Long(5); }
7.
8. public static void main(String[] args) {
9. Super sooper = new Super();
10. Sub sub = new Sub();
11. System.out.println(
12. sooper.getLenght().toString() + “,” +
13. sub.getLenght().toString() );
14. }
15. }
What is the output?
A. 4,4
B. 4,5
C. 5,4
D. 5,5
E. Compilation fails.

QUESTION NO: 34
Given:
1. public class Test {
2. public static String output =””;
3.
4. public static void foo(int i) {
5. try {
6. if(i==1) {
7. throw new Exception();
8. }
9. output += “1”;
10. }
11. catch(Exception e) {
12. output += “2”;
13. return;
14. }
15. finally {
16. output += “3”;
17. }
18. output += “4”;
19. }
20.
21. public static void main(String args[]) {
22. foo(0);
23. foo(1);
24.
25. }
26. }
What is the value of the variable output at line 23?

QUESTION NO: 35
Given:
10. public Object m() {
11. Object o = new Float(3.14F);
12. Object [] oa = new Object[1];
13. oa[0] = o;
14. o = null;
15. return oa[0];
16. }
When is the Float object, created in line 11, eligible for garbage collection?
A. Just after line 13.
B. Just after line 14.
C. Never in this method.
D. Just after line 15 (that is, as the method returns).

QUESTION NO: 36
Given:
1. class Base {
2. Base() { System.out.print(“Base”); }
3. }
4. public class Alpha extends Base {
5. public static void main( String[] args ) {
6. new Alpha();
7. new Base();
8. }
9. }
What is the result?
A. Base
B. BaseBase
C. Compilation fails.
D. The code runs with no output.
E. An exception is thrown at runtime.

QUESTION NO: 37
Given:
11. int i = 1,j = -1;
12. switch (i) {
13. case 0, 1:j = 1;
14. case 2: j = 2;
15. default; j = 0;
16. }
17. System.out.println(“j=”+j);
What is the result?
A. j = -1
B. j = 0
C. j = 1
D. j = 2
E. Compilation fails.

QUESTION NO: 38
Given:
1. public class X {
2. public static void main(String [] args) {
3. try {
4. badMethod();
5. System.out.print(“A”);
6. }
7. catch (Exception ex) {
8. System.out.print(“B”);
9. }
10. finally {
11. System.out.print(“C”);
12. }
13. System.out.print(“D”);
14. }
15. public static void badMethod() {}
17. }
What is the result?
A. AC
B. BD
C. ACD
D. ABCD
E. Compilation fails.

QUESTION NO: 39
Which two are valid declarations within an interface definition? (Choose two)
A. void methoda();
B. public double methoda();
C. public final double methoda();
D. static void methoda(double d1);
E. protected void methoda(double d1);

QUESTION NO: 40
Which two allow the class Thing to be instantiated using new Thing()? (Choose two)
A. public class Thing {
}
B. public class Thing {
public Thing() {}
}
C. public class Thing {
public Thing(void) {}
}
D. public class Thing {
public Thing(String s) {}
}
E. public class Thing {
public void Thing() {}
public Thing(String s) {}
}

QUESTION NO: 41
Given:
11. Float f = new Float(“12”);
12. switch (f) {
13. case 12: System.out.println(“Twelve”);
14. case 0: System.out.println(“Zero”);
15. default: System.out.println(“Default”);
16. }
What is the result?
A. Zero
B. Twelve
C. Default
D. Twelve
Zero
Default
E. Compilation fails.

QUESTION NO: 42
Given:
1. public class X {
2. public static void main(String [] args) {
3. try {
4. badMethod();
5. System.out.print(“A”);
6. }
7. catch (Exception ex) {
8. System.out.print(“B”);
9. }
10. finally {
11. System.out.print(“C”);
12. }
13. System.out.print(“D”);
14. }
15. public static void badMethod() {
16. throw new RuntimeException();
17. }
18. }
What is the result?
A. AB
B. BC
C. ABC
D. BCD
E. Compilation fails.

QUESTION NO: 43
Given:
1. class TestA {
2. TestB b;
3. TestA() {
4. b = new TestB(this);
5. }
6. }
7. class TestB {
8. TestA a;
9. TestB(TestA a) {
10. this.a = a;
11. }
12. }
13. class TestAll {
14. public static void main (String args[]) {
15. new TestAll().makeThings();
16. // ...code continues on
17. }
18. void makeThings() {
19. TestA test = new TestA();
20. }
21. }
Which two statements are true after line 15, before main completes? (Choose two)
A. Line 15 causes a stack overflow.
B. An exception is thrown at runtime.
C. The object referenced by a is eligible for garbage collection.
D. The object referenced by b is eligible for garbage collection.
E. The object referenced by a is not eligible for garbage collection.
F. The object referenced by b is not eligible for garbage collection.

QUESTION NO: 44
Given:
11. for (int i =0; i <3; i++) {
12. switch(i) {
13. case 0: break;
14. case 1: System.out.print(“one “);
15. case 2: System.out.print(“two “);
16. case 3: System.out.print(“three “);
17. }
18. }
19. System.out.println(“done”);
What is the result?
A. done
B. one two done
C. one two three done
D. one two three two three done
E. Compilation fails.

QUESTION NO: 45
Which three statements are true? (Choose three)
A. The default constructor initializes method variables.
B. The default constructor has the same access as its class.
C. The default constructor invoked the no-arg constructor of the superclass.
D. If a class lacks a no-arg constructor, the compiler always creates a default constructor.
E. The compiler creates a default constructor only when there are no other constructors
for the class.

QUESTION NO: 46
Which three statements are true? (Choose three)
A. Assertion checking is typically enabled when a program is deployed.
B. It is never appropriate to write code to handle failure of an assert statement.
C. Assertion checking is typically enabled during program development and testing.
D. Assertion checking can be selectively enabled or disable an a per-package basis, but
not on a per-class basis.
E. Assertion checking can be selectively enabled or disabled on both a per-package basis
and a per-class basis.

QUESTION NO: 47
Which statement is true?
A. A try statement must have at least one corresponding catch block.
B. Multiple catch statements can catch the same class of exception more than once.
C. An Error that might be thrown in a method must be declared as thrown by that
method, or be handled within that method.
D. Except in case of VM shutdown, if a try block starts to execute, a corresponding
finally block will always start to execute.
E. Except in case of VM shutdown, if a try block starts to execute, a corresponding
finally block must always run to completion.

QUESTION NO: 48
Given:
1. class A {
2. final public int method1(int a, int b) {return 0; }
3. }
4. class B extends A {
5. public int method1(int a, int b) { return 1; }
6. }
7. public class Test {
8. public static void main(Strings args[]) {
9. B b;
10. System.out.println(“x = “ + b.method1(0, 1));
11. }
12. }
What is the result?
A. x = 0
B. x = 1
C. Compilation fails.
D. En exception is thrown at runtime.

QUESTION NO: 49
Given:
10. public Object m() {
11. Object o = new Float(3.14F);
12. Object [] oa = new Object[1];
13. oa[0] = o;
14. o = null;
15. oa[0] = null;
16. return 0;
17. }
When is the Float object, created in line 11, eligible for garbage collection?
A. Just after line 13.
B. Just after line 14.
C. Just after line 15.
D. Just after line 16 (that is, as the method returns).

QUESTION NO: 50
Given:
11. public void test(int x) {
12. int odd = x%2;
13. if (odd) {
14. System.out.println(“odd);
15. } else {
16. System.out.println(“even”);
17. }
18. }
Which statement is true?
A. Compilation fails.
B. “odd” will always be output.
C. “even” will always be output.
D. “odd” will be output for odd values of x, and “even” for even values.
E. “even” will be output for add values of x, and “odd” for even values.

QUESTION NO: 51
Which two create an instance of an array? (Choose two)
A. int[] ia = new int[15];
B. float fa = new float[20];
C. char[] ca = “Some String”;
D. Object oa = new float[20];
E. int ia[][] = { 4, 5, 6, }, { 1, 2, 3 };

QUESTION NO: 52
Given:
1. class Super {
2. public int getLenght() { return 4; }
3. }
4.
5. public class Sub extends Super {
6. public long getLenght() { return 5; }
7.
8. public static void main(String[] args) {
9. Super sooper = new Super();
10. Sub sub = new Sub();
11. System.out.println(
12. sooper.getLenght() + “,” + sub.getLenght() );
13. }
14. }
What is the output?
A. 4,4
B. 4,5
C. 5,4
D. 5,5
E. Compilation fails.

QUESTION NO: 53
Given:
1. public class Test {
2. public static void main(String[] args) {
3. int x = 0;
4. assert (x > 0): “assertion failed”;
5. System.out.println(“finished”);
6. }
7. }
What is the result?
A. finished
B. Compilation fails.
C. An AssertionError is thrown.
D. An AssertionError is thrown and finished is output.

QUESTION NO: 54
You want to limit access to a method of a public class to members of the same class.
Which access accomplishes this objective?
A. public
B. private
C. protected
D. transient
E. default access

QUESTION NO: 55
Given:
11. switch(x) {
12. default:
13. System.out.println(“Hello”);
14. }
Which two are acceptable types for x? (Choose two)
A. byte
B. long
C. char
D. float
E. Short
F. Long

QUESTION NO: 56
Given:
1. public class X {
2. public static void main(String [] args) {
3. try {
4. badMethod();
5. System.out.print(“A”);
6. }
7. catch (RuntimeException ex) {
8. System.out.print(“B”);
9. }
10. catch (Exception ex1) {
11. System.out.print(“C”);
12. }
13. finally {
14. System.out.print(“D”);
15. }
16. System.out.print(“E”);
17. }
18. public static void badMethod() {
19. throw new RuntimeException();
20. }
21. }
What is the result?
A. BD
B. BCD
C. BDE
D. BCDE
E. ABCDE
F. Compilation fails.

QUESTION NO: 57
Given:
1. public class Test {
2. public static void main(String[] args) {
3. int x = 0;
4. assert (x > 0) ? “assertion failed” : “assertion passed”;
5. System.out.println(“Finished”);
6. }
7. }
What is the result?
A. finished
B. Compilation fails.
C. An AssertionError is thrown and finished is output.
D. An AssertionError is thrown with the message “assertion failed”.
E. An AssertionError is thrown with the message “assertion passed”.

QUESTION NO: 58
Given:
1. public class ReturnIt {
2. return Type methodA(byte x, double y) {
3. return (long)x / y * 2;
4. }
5. }
What is the narrowest valid returnType for methodA in line2?
A. int
B. byte
C. long
D. short
E. float
F. double

QUESTION NO: 59
Given:
1. public class OuterClass {
2. private double d1 = 1.0;
3. // insert code here
4. }
Which two are valid if inserted at line 3? (Choose two)
A. static class InnerOne {
public double methoda() { return d1; }
}
B. static class InnerOne {
static double methoda() { return d1; }
}
C. private class InnerOne {
public double methoda() { return d1; }
}
D. protected class InnerOne {
static double methoda() { return d1; }
}
E. public abstract class InnerOne {
public abstract double methoda();
}

QUESTION NO: 60
Given:
1. public class Foo {
2. public void main( String[] args ) {
3. System.out.println( “Hello” + args[0] );
4. }
5. }
What is the result if this code is executed with the command line?
java Foo world
A. Hello
B. Hello Foo
C. Hello world
D. Compilation fails.
E. The code does not run.

QUESTION NO: 61
Given:
11. public void foo( boolean a, boolean b ){
12. if( a ) {
13. System.out.println( “A” );
14. } else if ( a && b ) {
15. System.out.println( “A&&B” );
16. } else {
17. if ( !b ) {
18. System.out.println( “notB” );
19. } else {
20. System.out.println( “ELSE” );
21. }
22. }
23. }
What is correct?
A. If a is true and b is true then the output is “A&&B”.
B. If a is true and b is false then the output is “notB”.
C. If a is false and b is true then the output is “ELSE”.
D. If a is false and b is false then the output is “ELSE”.

QUESTION NO: 62
Which two cause a compiler error? (Choose two)
A. int[] scores = {3, 5, 7};
B. int [][] scores = {2,7,6}, {9,3,45};
C. String cats[] = {“Fluffy”, “Spot”, “Zeus”};
D. boolean results[] = new boolean [3] {true, false, true};
E. Integer results[] = {new Integer(3), new Integer(5), new
Integer(8)};
F. String[] dogs = new String[]{new String(“Fido”),new
String(“Spike”), new String(“Aiko”)};

QUESTION NO: 63
Given:
11. int i = 0, j = 5;
12. tp;
13. for (;;) {
14. i++;
15. for(;;) {
16. if (i> --j) {
17. break tp;
18. break tp;
19. }
20. }
21. System.out.println(“i=” +i “,j =”+j);
What is the result?
A. i = 1, j = 0
B. i = 1, j = 4
C. i = 3, j = 4
D. i = 3, j = 0
E. Compilation fails.
Answer: E

QUESTION NO: 64
Given:
1. public abstract class Test {
2. public abstract void methodA();
3.
4. public abstract void methodB()
5. {
6. System.out.println(“Hello”);
7. }
8. }
Which two changes, independently applied, allow this code to compile? (Choose two)
A. Add a method body to methodA.
B. Replace lines 5 – 7 with a semicolon (“;”).
C. Remove the abstract qualifier from the declaration of Test.
D. Remove the abstract qualifier from the declaration of methodA.
E. Remove the abstract qualifier from the declaration of methodB.

QUESTION NO: 65
Given:
1. public class Test {
2. public static void main(String Args[]) {
3. int i =1, j = 0;
4. switch(i) {
5. case 2: j +=6;
6. case 4: j +=1;
7. default: j +=2;
8. case 0: j +=4;
9. }
10. System.out.println(“j =” +j);
11. }
12. }
What is the result?
A. 0
B. 2
C. 4
D. 6
E. 9
F. 13

QUESTION NO: 66
Given:
1. class A {
2. }
3. class Alpha {
4. private A myA = new A();
5.
6. void dolt( A a ) {
7. a = null;
8. }
9. void tryIt() {
10. dolt( myA );
11. }
12. }
Which two statements are correct? (Choose two)
A. There are no instanced of A that will become eligible for garbage collection.
B. Explicitly setting myA to null marks that instance to be eligible for garbage collection.
C. Any call on tryIt() causes the private instance of A to be marked for garbage
collection.
D. Private instances of A become eligible for garbage collection when instances of Alpha
become eligible for garbage collection.

QUESTION NO: 67
Given:
1. class Super {
2. public int i = 0;
3.
4. public Super(String text) {
5. i = 1;
6. }
7. }
8.
9. public class Sub extends Super {
10. public Sub(String text) {
11. i = 2;
12. }
13.
14. public static void main(String args[]) {
15. Sub sub = new Sub(“Hello”);
16. System.out.println(sub.i);
17. }
18. }
What is the result?
A. 0-
B. 1
C. 2
D. Compilation fails.

QUESTION NO: 68
Given:
11. int i = 1,j = 10;
12. do{
13. if (i>j) {
14. continue;
15. }
16. j--;
17. } while (++i <6);
18. System.out.println(“i = “ +i+” and j = “+j);
What is the result?
A. i = 6 and j = 5
B. i = 5 and j = 5
C. i = 6 and j = 4
D. i = 5 and j = 6
E. i = 6 and j = 6

QUESTION NO: 69
Which fragment is an example of inappropriate use of assertions?
A. assert (!(map.contains(x)));
map.add(x);
B. if (x > 0) {
} else {
assert (x==0);
}
C. public void aMethod(int x) {
assert (x > 0);
}
D. assert (invariantCondition());
return retval;
E. switch (x) {
case 1: break;
case 2: creak;
default: assert (x == 0);

QUESTION NO: 70
Given:
1. public class X {
2. public X aMethod() { return this;}
3. }
1. public class Y extends X {
2.
3. }
Which two methods can be added to the definition of class Y? (Choose two)
A. public void aMethod() {}
B. private void aMethod() {}
C. public void aMethod(String s) {}
D. private Y aMethod() { return null; }
E. public X aMethod() { return new Y(); }

QUESTION NO: 71
Given:
1. public class X {
2. public static void main(String [] args) {
3. try {
4. badMethod();
5. System.out.print(“A”);
6. }
7. catch (Exception ex) {
8. System.out.print(“C”);
9. }
10. finally {
11. System.out.print(“B”);
12. }
13. System.out.print(“D”);
14. }
15. public static void badMethod() {
16. throw new Error();
17. }
18. }
What is the result?
A. ABCD
B. Compilation fails.
C. C is printed before exiting with an error message.
D. BC is printed before exiting with an error message.
E. BCD is printed before exiting with an error message.

QUESTION NO: 72
You want subclasses in any package to have access to members of a superclass. Which
is
the most restrictive access that accomplishes this objective?
A. public
B. private
C. protected
D. transient
E. default access

QUESTION NO: 73
Given:
1. class Exc0 extends Exception { }
2. class Exc1 extends Exc0 { }
3. public class Test {
4. public static void main(String args[]) {
5. try {
6. throw new Exc1();
7. } catch (Exc0 e0) {
8. System.out.println(“Ex0 caught”);
9. } catch (Exception e) {
10. System.out.println(“exception caught”);
11. }
12. }
13. }
What is the result?
A. Ex0 caught
B. exception caught
C. Compilation fails because of an error at line 2.
D. Compilation fails because of an error at line 6.

QUESTION NO: 74
Given:
20. public float getSalary(Employee e) {
21. assert validEmployee(e);
22. float sal = lookupSalary(e);
23. assert (sal>0);
24. return sal;
25. }
26. private int getAge(Employee e) {
27. assert validEmployee(e);
28. int age = lookupAge(e);
29. assert (age>0);
30. return age;
31. }
Which line is a violation of appropriate use of the assertion mechanism?
A. line 21
B. line 23
C. line 27
D. line 29

QUESTION NO: 75
Given:
1. public class A {
2. void A() {
3. System.out.println(“Class A”);
4. }
5. public static void main(String[] args) {
6. new A();
7. }
8. }
What is the result?
A. Class A
B. Compilation fails.
C. An exception is thrown at line 2.
D. An exception is thrown at line 6.
E. The code executes with no output.

QUESTION NO: 76
Given:
1. class Bar { }
1. class Test {
2. Bar doBar() {
3. Bar b = new Bar();
4. return b;
5. }
6. public static void main (String args[]) {
7. Test t = new Test();
8. Bar newBar = t.doBar();
9. System.out.println(“newBar”);
10. newBar = new Bar();
11. System.out.println(“finishing”);
12. }
13. }
At what point is the Bar object, created on line 3, eligible for garbage collection?
A. After line 8.
B. After line 10.
C. After line 4, when doBar() completes.
D. After line 11, when main() completes.

QUESTION NO: 77
Given:
1. interface Beta {}
2.
3. class Alpha implements Beta {
4. String testIt() {
5. return “Tested”;
6. }
7. }
8.
9. public class Main1 {
10. static Beta getIt() {
11. return new Alpha();
12. }
13. public static void main( String[] args ) {
14. Beta b = getIt();
15. System.out.println( b.testIt() );
16. }
17. }
What is the result?
A. Tested
B. Compilation fails.
C. The code runs with no output.
D. An exception is thrown at runtime.
Answer: B

QUESTION NO: 78
Given:
11. public class Test {
12. public void foo() {
13. assert false;
14. assert false;
15. }
16. public void bar(){
17. while(true){
18. assert false;
19. }
20. assert false;
21. }
22. }
What causes compilation to fail?
A. Line 13
B. Line 14
C. Line 18
D. Line 20

QUESTION NO: 79
Which statement is true?
A. Programs will not run out of memory.
B. Objects that will never again be used are eligible for garbage collection.
C. Objects that are referred to by other objects will never be garbage collected.
D. Objects that can be reached from a live thread will never be garbage collected.
E. Objects are garbage collected immediately after the system recognizes they are
eligible.

QUESTION NO: 80
In which two cases does the compiler supply a default constructor for class A? (Choose
two)
A. class A {
}
B. class A {
public A() {}
}
C. class A {
public A(int x) {}
}
D. class Z {}
class A extends Z {
void A() {}
}

QUESTION NO: 81
Given:
1. public class ReturnIt {
2. return Type methodA(byte x, double y) {
3. return (short)x / y * 2;
4. }
5. }
What is the narrowest valid returnType for methodA in line2?
A. int
B. byte
C. long
D. short
E. float
F. double

QUESTION NO: 82
Given:
1. public class Outer{
310 - 035
Leading the way in IT testing and certification tools, www.testking.com
-42 -
2. public void someOuterMethod() {
3. // Line 3
4. }
5. public class Inner{}
6. public static void main( String[]argv ) {
7. Outer o = new Outer();
8. // Line 8
9. }
10. }
Which instantiates an instance of Inner?
A. new Inner(); // At line 3
B. new Inner(); // At line 8
C. new o.Inner(); // At line 8
D. new Outer.Inner(); // At line 8

QUESTION NO: 83
What allows the programmer to destroy an object x?
A. x.delete()
B. x.finalize()
C. Runtime.getRuntime().gc()
D. Explicitly setting the object’s reference to null.
E. Ensuring there are no references to the object.
F. Only the garbage collection system can destroy an object.

QUESTION NO: 84
Given:
11. int x = 1, y =6;
12. while (y--) {
13. x++;
14. }
15. System.out.println(“x =” + x + “y =” +y);
What is the result?
A. x = 6 y = 0
B. x = 7 y = 0
C. x = 6 y = -1
D. x = 7 y = -1
E. Compilation fails.

QUESTION NO: 85
Given:
12. float f[][][] = new float[3][][];
13. float f0 = 1.0f;
14. float[][] farray = new float[1][1];
What is valid?
A. f[0] = f0;
B. f[0] = farray;
C. f[0] = farray[0];
D. f[0] = farray[0][0];

QUESTION NO: 86
Given:
11. for (int i =0; i < 4; i +=2) {
12. System.out.print(i + “”);
13. }
14. System.out.println(i);
What is the result?
A. 0 2 4
B. 0 2 4 5
C. 0 1 2 3 4
D. Compilation fails.
E. An exception is thrown at runtime.

QUESTION NO: 87
Given:
12. void start() {
13. A a = new A();
14. B b = new B();
15. a.s(b);
16. b = null;
17. a = null;
18. System.out.println(“start completed”);
19. }
When is the B object, created in line 14, eligible for garbage collection?
A. After line 16.
B. After line 17.
C. After line 18 (when the methods ends).
D. There is no way to be absolutely certain.
E. The object is NOT eligible for garbage collection.

QUESTION NO: 88
Given:
1. public class Exception Test {
2. class TestException extends Exception {}
3. public void runTest() throws TestException {}
4. public void test() /* Point X */ {
5. runTest();
6. }
7. }
At Point X on line 4, which code is necessary to make the code compile?
A. No code is necessary.
B. throws Exception
C. catch ( Exception e )
D. throws RuntimeException
E. catch ( TestException e)

QUESTION NO: 89
Given:
11. int i = 0;
12. while (true) {
13. if(i==4) {
14. break;
15. }
16. ++i;
17. }
18. System.out.println(“i=”+i);
What is the result?
A. i = 0
B. i = 3
C. i = 4
D. i = 5
E. Compilation fails.
Answer: C

QUESTION NO: 90
Given:
11. try {
12. int x = 0;
13. int y = 5 / x;
14. } catch (Exception e) {
15. System.out.println(“Exception”);
16. } catch (ArithmeticException ae) {
17. System.out.println(“Arithmetic Exception”);
18. }
19. System.out.println(“finished”);
What is the result?
A. finished
B. Exception
C. Compilation fails.
D. Arithmetic Exception

QUESTION NO: 91
Given:
1. public class Test { }
What is the prototype of the default constructor?
A. Test()
B. Test(void)
C. public Test()
D. public Test(void)
E. public void Test()

QUESTION NO: 92
Given:
1. abstract class AbstractIt {
2. abstract float getFloat();
3. }
4. public class AbstractTest extends AbstractIt {
5. private float f1 = 1.0f;
6. private float getFloat() { return f1; }
7. }
What is the result?
A. Compilation succeeds.
B. An exception is thrown.
C. Compilation fails because of an error at line 2.
D. Compilation fails because of an error at line 6.

QUESTION NO: 93
Which four can be thrown using the throw statement? (Choose four)
A. Error
B. Event
C. Object
D. Throwable
E. Exception
F. RuntimeException

QUESTION NO: 94
What produces a compiler error?
A. class A {
public A(int x) {}
}
B. class A {
}
class B extends A {
B() {}
}
C. class A {
A() {}
}
class B {
public B() {}
}
D. class Z {
public Z(int) {}
}
class A extends Z {
}

QUESTION NO: 95
Given:
11. for( int i = min; i <max; i++) {
12. System.out.println(i);
13. }
If min and max are arbitrary integers, what gives the same result?
A. init i = min;
while( i < max ) {
}
B. int i = min;
do
System.out.println(i++);
} while( i< max );
C. for (int i=min; i<max; System.out.println(++I));
D. for (int i=; i++<max; System.out.println(i));

QUESTION NO: 96
Given:
11. double d = Math.random();
Which is true about d after line 11?
A. d >= 1.0
B. 0.0 <= d < 1.0
C. 0.0 <= d < Double.MAX_VALUE
D. 0.0 <= d <= Double.MAX_VALUE
E. Double.MIN_VALUE <= d < Double.MAX_VALUE

QUESTION NO: 97
Given:
1. public class Alpha{
2. private static Character() ids;
3.
4. public static void main( String[] args){
4. ids = new Character[args.length];
5. for (int i=0; i<ids.length; i++){
6. ids[i] = new Character( args[i] );
7. System.out.print( ids[i] );
8. }
9. }
10. }
What is correct?
A. Compilation fails.
B. The code runs with no output.
C. An exception is thrown at runtime.
D. The code runs, outputing a concatenated list of the arguments passed to the program.

QUESTION NO: 98
Given:
1. public class Alpha{
2. public static void main( string[] args ){
3. if ( args.length == 2 ) {
4. if ( args.[0].equalsIgnoreCase(“-b”) )
5. System.out.println( new Boolean( args[1] ));
6. }
7. }
8. }
And the code is invoked by using the command:
java Alpha –b TRUE
What is the result?
A. true
B. null
C. false
D. Compilation fails.
E. The code runs with no output.
F. An exception is thrown at runtime.

QUESTION NO: 99
Given:
11. int i = 0, j = 1;
12. if ((i++ == 1) && (j++ == 2)) {
13. i = 42;
14 }
15. System.out.println(“i = “ + i + “, j = “ + j);
What is the result?
A. i = 1, j = 2
B. i = 1, j = 1
C. i = 42, j = 2
D. i = 42, j = 1
E. Compilation fails.

QUESTION NO: 100
Given:
1. public class X (
2. private static int a;
3. public static void main(String [] args) {
4. modify(a);
5. System.out.println(a);
6. }
7. public static void modify(int a) {
8. a++;
9. }
10 }
What is the result?
A. 0
B. 1
C. Compilation fails.
D. An exception is thrown at runtime.

QUESTION NO: 101
Given:
1. public class Test {
2. public static void add3 (Integer i) {
3. int val = i.intValue();
4. val += 3;
5. i = new Integer(val);
6. }
7.
8. public static void main(String args[]) {
9. Integer i = new Integer(0);
10. add3(i);
11. System.out.println(i.intValue());
12 }
13 }
What is the result?
A. 0
B. 3
C. Compilation fails.
D. An exception is thrown at runtime.

QUESTION NO: 102
Given:
11. public static void main( String[] args ) {
12. Integer a = new Integer(10);
13. Integer b = new Integer(10);
14. Integer c = a;
15. int d = 10;
16. double e = 10.0;
17. }
Which three evaluate to true? (Choose three)
A. (a == c)
B. (d == e)
C. (b == d)
D. (a == b)
E. (b == c)
F. (d == 10.0)

QUESTION NO: 103
Given:
11. String a = null;
12. a.concat(“abc”);
13. a.concat(“def”);
14. System.out.println(a);
What is the result?
A. abc
B. null
C. abcdef
D. Compilation fails.
E. The code runs with no output.
F. An exception is thrown at runtime.

QUESTION NO: 104
Given that b and c refer to instances of wrapper classes, which two statements are
true? (Choose two)
A. b.equals(b) returns true.
B. b.equals(c) returns the same result as b == c.
C. b.eqials(c) can return false even if c.equals(b) returns true.
D. b.equals(c) throws an exception if b and c are different wrapper types.
E. b.equals(c) returns false if the type of wrapper objects being compared are
different.

QUESTION NO: 105
Given:
1. public class Test {
2. public static void main(String [] args) {
3. System.out.println(args.length > 4 &&
4. args[4].equals(“-d”));
5. }
6. }
If the program is invoked using the command line:
java Test One Two Three –d
What is the result?
A. true
B. false
C. Compilation fails.
D. An exception is thrown at runtime.

QUESTION NO: 106
Given:
11. try {
12. if ((new Object))(.equals((new Object()))) {
13. System.out.println(“equal”);
14. )else{
15. System.out.println(“not equal”);
16. }
17. }catch (Exception e) {
18. System.out.println(“exception”);
19. }
What is the result?
A. equal
B. not equal
C. exception
D. Compilation fails.

QUESTION NO: 107
Which three demonstrate an “is a” relationship? (Choose three)
A. public class X { }
public class Y extends X { }
B. public interface Shape { }
public interface Rectangle extends Shape{ }
C. public interface Color { }
public class Shape { private Color color; }
D. public interface Species { }
public class Animal { private Species species; }
E. public class Person { }
public class Employee {
public Employee(Person person) { }
F. interface Component { }
class Container implements Component {
private Component[] children;
}

QUESTION NO: 108
Given:
1. class BaseClass {
2. private float x = 1.of;
3. protected float getVar() { return x; }
4. }
5. class SubClass extends BaseClass {
6. private float x = 2.Of;
7. // insert code here
8. }
Which two are valid examples of method overriding when inserted at line 7? (Choose
two)
A. float getVar() { return x; }
B. public float getVar() { return x; }
C. public double getVar() { return x; }
D. protected float getVar() { return x; }
E. public float getVar(float f) { return f; }

QUESTION NO: 109
Given:
1. class A {
2. public byte getNumber() {
3. return 1;
4. }
5. }
6.
7. class B extends A {
8. public short getNumber() {
9. return 2;
10. }
11.
12. public static void main(String args[]) {
13. B b = new B();
14. System.out.println(b.getNumber());
15. }
16. }
What is the result?
A. 1
B. 2
C. An exception is thrown at runtime.
D. Compilation fails because of an error in line 8.
E. Compilation fails because of an error in line 14.

QUESTION NO: 110
Which two are benefits of fully encapsulating a class? (Choose two)
A. Performance of class methods is improved.
B. Implementation details of the class are hidden.
C. Access modifiers can be omitted on class data members.
D. Code that uses the encapsulation class can access data members directly.
E. Internal operation of the class can be modified without impacting clients of that class.

QUESTION NO: 111
Given:
1. class A {
2. public A() {
3. System.out.println(“hello from a”);
4. }
5. }
6. class B extends A {
7. public B () {
8. System.out.println(“hello from b”);
9. super();
10 }
11. }
12. public class Test {
13. public static void main(String args[]) {
14. A a = new B();
15. }
16. }
What is the result when main is executed?
A. Compilation fails.
B. hello from a
C. hello from b
D. hello from b
hello from a
E. hello from a
hello from b

QUESTION NO: 112
Given:
1. package foo;
2. public class Outer {
3. public static class Inner {
4. }
5. }
Which statement is true?
A. Compilation fails.
B. An instance of the Inner class can be constructed with “new Outer.Inner()”.
C. An instance of the Inner class cannot be constructed outside of package foo.
D. An instance of the Inner class can be constructed only from within the Outer class.
E. From within the package foo, and instance of the Inner class can be constructed
with “new Inner()”.

QUESTION NO: 113
Given:
1. public class SyncTest {
2. private int x;
3. private int y;
4. private synchronized void setX( int i ) { x = i; }
5. private synchronized void setY( int i ) { y = i; }
6. public void setXY( int i ) { setX(i); setY(i); }
7. public synchronized boolean check() { return x != y; }
8. }
Under which condition will check return true when called from a different class?
A. check can never return true.
B. check can return true when setXY is called by multiple threads.
C. check can return true when multiple threads call setX and setY separately.
D. check can return true only if SyncTest is changed to allow x and y to be set
separately.

QUESTION NO: 114
Thread Z holds the lock on object A. Thread X is blocked inside a wait call on ObjectA.
What allows thread X to become runnable?
A. Thread X is interrupted.
B. Thread X is interrupted.
C. Thread X’s wait() times out.
D. Thread Z calls Thread.sleep(100);
E. Thread Z releases the lock on A and calls the notify() method on thread X.
F. Thread Z releases the lock on A and calls the notifyAll() method on objectA.

QUESTION NO: 115
What happens when thread X executes a wait() method on object A, without owning
object A’s lock?
A. Compilation fails.
B. An exception is thrown.
C. The wait() method has no effect.
D. Thread X receives the lock immediately.

QUESTION NO: 116
Given:
1. class MyThread extends Thread {
2. public void run() { System.out.println(“AAA”); }
3. public void run(Runnable r) { System.out.println(“BBB”); }
4.
5. public static void main(String[] args) {
6. new Thread(new MyThread()).start();
7. }
8. }
What is the result?
A. AAA
B. BBB
C. Compilation fails.
D. The code runs with no output.

QUESTION NO: 117
Given:
1. public class X implements Runnable {
2. private int x;
3. private int y;
4.
5. public static void main(String [] args) {
6. X that = new X();
7. (new Thread( that )).start();
8. (new Thread( that )).start();
9. }
10.
11. public void run() {
12. for (;;) {
13. synchronized (this) {
14. x++;
15. y++;
16. }
17.
System.out.println(Thread.currentThread().getName() +
18. “x = “ + x + “, y = “ +
y);
19. }
20. }
21. }
What is the result?
A. Compilation fails.
B. The program prints pairs of values for x and y that might not always be the same on
the same line (for example, “x = 2, y = 1”).
C. The program prints pairs of values for x and y that are always the same on the same
line (for example, “x = 1, y = 1”).
In addition, each value appears only once (for example, “x = 1, y = 1” followed
by “x = 2, y = 2”).
The thread name at the start of the line shows that both threads are executing
concurrently.
D. The program prints pairs of values for x and y that are always the same on the same
line (for example, “x = 1, y = 1”).
In addition, each value appears only once (for example, “x = 1, y = 1” followed
by “x = 2, y = 2”).
The thread name at the start of the line shows that only a single thread is actually
executing.

QUESTION NO: 118
Which statement is true?
A. To call the wait() method, a thread most own the lock of the current thread.
B. To call the wait() method, a thread must own the lock of the object on which the
call is to be made.
C. To call the join() method, a thread must own the lock of the object on which the
call is to be made.
310 - 035
Leading the way in IT testing and certification tools, www.testking.com
-59 -
D. To call the sleep() method, a thread must own the lock of the object which the call
is to be made.
E. To call the yield() method, a thread must own the lock of the object on which the
cal is to be made.

QUESTION NO: 119
Given:
1. public class A extends Thread {
2. A() {
3. setDaemon(true);
4. }
5.
6. public void run() {
7. (new B()).start();
8. try {
9. Thread.sleep(60000);
10. } catch (InterruptedException x) {}
11. System.out.println(“A done”);
12. }
13.
14. class B extends Thread {
15. public void run() {
16. try {
17. Thread.sleep(60000);
18. } catch (InterruptedException x) {}
19. System.out.println(“B done”);
21. }
22. }
23.
24. public static void main(String[] args) {
25. (new A()).start();
26. }
27. }
What is the result?
A. A done
B. B done
C. A done
B done
D. B done
A done
E. There is no exception that the application will print anything.
F. The application outputs “A done” and “B done”, in no guaranteed order.

QUESTION NO: 120
What can cause a thread to become non-runnable?
A. Exiting from a synchronized block.
B. Calling the wait method on an object.
C. Calling the notify method on an object.
D. Calling the notifyAll method on an object.

QUESTION NO: 121
Given:
11. ArraryList a = new ArrayList();
12. a.add(“Alpha”);
13. a.add(“Bravo”):
14. a.add(“Charlie”);
15. a.add(“Delta”);
16.Iterator iter = a.iterator();
17.
Which two, added at line 17, print the names in the ArrayList in alphabetical order?
(Choose two)
A. for (int i=0; i< a.size(); i++)
System.out.println(a.get(i)));
B. for (int i=0; i< a.size(); i++)
System.out.println(a[i]);
C. while( iter.hasNext() )
System.out.println(iter.next()) ;
D. for (int i=0, i< a.size(); i++)
System.out.println(iter[i]);
E. for (int i=0; i< a.size(); i++)
System.out.println(iter.get(i));

QUESTION NO: 122
Given:
1. // Point X
2. public class foo {
3. public static void main(String[] args) throws Exception {
4. jave.io.PrintWriter out = new jave.io.PrintWriter(
5. new jave.io.OutputStreamWriter(System.out), true);
6. out.println(“Hello”);
7. }
8. }
Which statement at Point X on line 1 is required to allow this code to compile?
A. No statement is required.
B. import jave.io.*;
C. include java.io.*;
D. import jave.io.PrintWriter;
E. include java.io.PrintWriter;

QUESTION NO: 123
Which two are valid declarations of a float? (Choose two)
A. float f = 1F;
B. float f = 1.0.;
C. float f = ‘1’;
D. float f = “1”;
E. float f = 1.0d;

QUESTION NO: 124
Given:
1. public class Test {
2. private static int[] x;
3. public static void main(String[] args) {
4. System.out.println(x[0]);
5. }
6. }
What is the result?
A. 0
B. null
C. Compilation fails.
D. A NullPointerException is thrown at runtime.
E. An ArrayIndexOutOfBoundsException is thrown at runtime.

QUESTION NO: 125
Given:
1. public class Test {
2. public static void main( String[] args) {
3. String foo = args[1];
4. String bar = args[2];
5. String baz = args[3];
6. System.out.println(“baz = “ + baz);
7. }
8. }
And the command line invocation:
java Test red green blue
What is the result?
A. baz =
B. baz = null
C. baz = blue
D. Compilation fails.
E. An exception is thrown at runtime.

QUESTION NO: 126
Which method must be defined by a class implementing the java.lang.Runnable
interface?
A. void run()
B. public void run()
C. public void start()
D. void run(int priority)
E. public void run(int priority)
F. public void start(int priority)

QUESTION NO: 127
Given:
11. public static void main(String[] args) {
12. Object obj = new Object() {
13. public int hashCode() {
14. returns 42;
15. }
15. };
17. System.out.println(obj.hashCode());
18. }
What is the result?
A. 42
B. An exception is thrown at runtime.
C. Compilation fails because of an error on line 12.
D. Compilation fails because of an error on line 16.
E. Compilation fails because of an error on line 17.

QUESTION NO: 128
Which two are reserved words in the Java programming language? (Choose two)
A. run
B. import
C. default
D. implement

QUESTION NO: 129
Which two statements are true regarding the return values of property written
hashCode and equals methods from two instances of the same class? (Choose two)
A. If the hashCode values are different, the objects might be equal.
B. If the hashCode values are the same, the object must be equal.
C. If the hashCode values are the same, the objects might be equal.
D. If the hashCode values are different, the objects must be unequal.

QUESTION NO: 130
What is the numerical range of a char?
A. 0 ... 32767
B. 0 ... 65535
C. –256 ... 255
D. –32768 ... 32767
E. Range is platform dependent.

QUESTION NO: 131
Given:
1. public class Test {
2. private static float[] f = new float[2];
3. public static void main(String args[]) {
4. System.out.println(“f[0] = “ + f[0]);
5. }
6. }
What is the result?
A. f[0] = 0
B. f[0] = 0.0
C. Compilation fails.
D. An exception is thrown at runtime.

QUESTION NO: 132
Given:
1. public class Test {
2. public static void main(String[] args) {
3. String str = NULL;
4. System.out.println(str);
5. }
6. }
What is the result?
A. NULL
B. Compilation fails.
C. The code runs with no output.
D. An exception is thrown at runtime.

QUESTION NO: 133
Which interface does java.util.Hashtable implement?
A. java.util.Map
B. java.util.List
C. java.util.Hashable
D. java.util.Collection

QUESTION NO: 134
Given:
11. System.out.println(Math.sqrt(-4D));
What is the result?
A. –2
B. NaN
C. Infinity
D. Compilation fails.
E. An exception is thrown at runtime.
Answer: B

QUESTION NO: 135
Given:
11. String a = “ABCD”;
12. String b = a.toLowerCase();
13. b.replace(‘a’, ‘d’);
14. b.replace(‘b’, ‘c’);
15. System.out.println(b);
What is the result?
A. abcd
B. ABCD
C. dccd
D. dcba
E. Compilation fails.
F. An exception is thrown at runtime.

QUESTION NO: 136
Given:
1. public class Foo {
2. public static void main (String [] args) {
3. StringBuffer a = new StringBuffer (“A”);
4. StringBuffer b = new StringBuffer (“B”);
5. operate (a,b);
6. system.out.printIn{a + “,” +b};
7. )
8. static void operate (StringBuffer x, StringBuffer y) {
9. x.append {y};
10. y = x;
11. )
12. }
What is the result?
A. The code compiles and prints “A,B”.
B. The code compiles and prints “A,A”.
C. The code compiles and prints “B,B”.
D. The code compiles and prints “AB,B”.
E. The code compiles and prints “AB,AB”.
F. The code does not compile because “+” cannot be overloaded for StringBuffer.

QUESTION NO: 137
Exhibit:
1. Public class test (
2. Public static void stringReplace (String text) (
3. Text = text.replace (‘j’ , ‘i’);
4. )
5.
6. public static void bufferReplace (StringBuffer text) (
7. text = text.append (“C”)
8. )
9.
10. public static void main (String args[]} (
11. String textString = new String (“java”);
12. StringBuffer text BufferString = new StringBuffer (“java”);
13.
14. stringReplace (textString);
15. bufferReplace (textBuffer);
16.
17. System.out.printLn (textString + textBuffer);
18. }
19. )
What is the output?

QUESTION NO: 138
Which method is an appropriate way to determine the cosine of 42 degrees?
A. Double d = Math.cos(42);
B. Double d = Math.cosine(42);
C. Double d = Math.cos(Math.toRadians(42));
D. Double d = Math.cos(Math.toDegrees(42));
E. Double d = Math.cosine(Math.toRadians(42));

QUESTION NO: 139
Exhibit:
1. class A implements Runnable (
2. int i;
3. public void run () (
4. try (
5. thread.sleep(5000);
6. i= 10;
7. ) catch(InterruptedException e) {}
8. )
9. )
10.
11. public class Test {
12. public static void main (string args[]) (
13. try (
14. A a = new A ();
15. Thread t = new Thread (a);
16. t.start();
17.
18. int j= a.i;
19.
20. ) catch (Exception e) {}
21. )
22. )
Which statement al line 17 will ensure that j=10 at line 19?
A. a.wait();
B. t.wait();
C. t.join();
D. t.yield();
E. t.notify();
F. a.notify();
G. t.interrupt();

QUESTION NO: 140
Which code determines the int value foo closest to, but not greater than, a double value
bar?
A. Int foo = (int) Math.max(bar);
B. Int foo = (int) Math.min(bar);
C. Int foo = (int) Math.abs(bar);
D. Int foo = (int) Math.ceil(bar);
E. Int foo = (int) Math.floor(bar);
F. Int foo = (int) Math.round(bar);

QUESTION NO: 142
Given:
1. class BaseClass{
2. private float x= 1.0f;
3. protected void setVar (float f) {x = f;}
4. }
5. class SubClass extends BaseClass {
6. private float x = 2.0f;
7. //insert code here
8. }
Which two are valid examples of method overriding? (Choose Two)
A. Void setVar(float f) {x = f;}
B. Public void setVar(int f) {x = f;}
C. Public void setVar(float f) {x = f;}
D. Public double setVar(float f) {x = f;}
E. Public final void setVar(float f) {x = f;}
F. Protected float setVar() {x=3.0f; return 3.0f; }

QUESTION NO: 143
Exhibit:
1. public class Mycircle {
2. public double radius;
3. public double diameter;
4.
5. public void setRadius(double radius)
6. this.radius = radius;
7. this.diameter= radius * 2;
8. }
9.
10. public double getRadius() {
11. return radius;
12. }
13. }
Which statement is true?
A. The Mycircle class is fully encapsulated.
B. The diameter of a given MyCircle is guaranteed to be twice its radius.
C. Lines 6 and 7 should be in a synchronized block to ensure encapsulation.
D. The radius of a MyCircle object can be set without affecting its diameter.

QUESTION NO: 144
Which is a valid identifier?
A. false
B. default
C. _object
D. a-class

QUESTION NO: 145
Given:
1. public class X {
2. public static void main (String[] args) {
3. byte b = 127;
4. byte c = 126;
5. byte d = b + c;
6. }
7. }
Which statement is true?
A. Compilation succeeds and d takes the value 253.
B. Line 5 contains an error that prevents compilation.
C. Line 5 throws an exception indicating “Out of range”
D. Line 3 and 4 contain error that prevent compilation.
E. The compilation succeeds and d takes the value of 1.

QUESTION NO: 146
Which two are equivalent? (Choose Two)
A. 3/2
B. 3<2
C. 3*4
D. 3<<2
E. 3*2^2
F. 3<<<2

QUESTION NO: 147
What is the numerical range of a byte?
A. 0...32767
B. 0...65535
C. -128...127
D. -256...255
E. Range is platform dependent