SCJP Test - shaobin0604/misc GitHub Wiki
Question No: 1
Given:
1. public class Test {
2. public static void main (String args[]) {
3. int i = 0xFFFFFFF1;
4. int j = ~i;
5.
6. }
7. }
What is the decimal value of j at line 5?
- A. 0
- B. 1
- C. 14
- D. –15
- E. An error at line 3 causes compilation to fail.
- F. An error at line 4 causes compilation to fail.
Answer: D
Question No: 2
Given:
Integer i = new Integer (42);
Long 1 = new Long (42);
Double d = new Double (42.0);
Which two expressions evaluate to True? (Choose Two)
- A. (i ==1)
- B. (i == d)
- C. (d == 1)
- D. (i.equals (d))
- E. (d.equals (i))
- F. (i.equals (42))
Answer: D, E
Question No: 3
Exhibit :
1. public class Test {
2. private static int j = 0;
3.
4. private static boolean methodB(int k) {
5. j += k;
6. return true;
6. }
7.
8. public static void methodA(int i) {
9. boolean b:
10. b = i < 10 | methodB(4);
11. b = i < 10 || methodB(8);
12. }
13.
14. public static void main(String args[]) {
15. methodA(0);
16. system.out.printIn(j);
17. }
18.}
What is the result?
- A. The program prints "0"
- B. The program prints "4"
- C. The program prints "8"
- D. The program prints "12"
- E. The code does not complete.
Answer: B
Question No: 4
Given
1. public class Test {
2. public static void main(String args[]) {
3. System.out.printIn(6 ^ 3);
4. }
5. }
What is the output?
Answer: 5
Question No: 5
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.
Answer: D
Question No: 6
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.printIn(textString + textBuffer);
18. }
19.}
What is the output?
Answer: javajavaC
Question No: 7
Exhibit:
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.printIn(i.intValue());
12. }
13.}
What is the result?
- A. Compilation will fail.
- B. The program prints "0".
- C. The program prints "3".
- D. Compilation will succeed but an exception will be thrown at line 3.
Answer: B
Question No: 8
Given:
1. public class ConstOver {
2. public ConstOver(int x, int y, int z) {
3. }
4. }
Which two overload the ConstOver constructor? (Choose Two)
- A. ConstOver() { }
- B. protected int ConstOver() { }
- C. private ConstOver(int z, int y, byte x) { }
- D. public Object ConstOver(int x, int y, int z) { }
- E. public void ConstOver(byte x, byte y, byte z) { }
Answer: A, C
Question No: 9
Given:
1. public class MethodOver {
2. public void setVar(int a, int b, float c) {
3. }
4. }
Which two overload the setVar method? (Choose Two)
- A. private void setVar(int a, float c, int b) { }
- B. protected void setVar(int a, int b, float c) { }
- C. public int setVar(int a, float c, int b) (return a;)
- D. public int setVar(int a, int b, float c) (return a;)
- E. protected float setVar(int a, int b, float c) (return c;)
Answer: A, C
Question No: 10
Given:
1. class BaseClass {
2. private float x = 1.0f ;
3. float getVar() { return x;}
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. private float getVar() { return x;}
- B. protected float getVar() { return x;}
- C. float double getVar() { return x;}
- D. public float getVar() { return x;}
- E. public float getVar(float f) { return f;}
Answer: B, D
Question No: 11
Which statement is true?
- A. An anonymous inner class may be declared as final.
- B. An anonymous inner class can be declared as private.
- C. An anonymous inner class can implement multiple interfaces.
- D. An anonymous inner class can access final variables in any enclosing scope.
- E. Construction of an instance of a static inner class requires an instance of the enclosing outer class.
Answer: D
Question No 12
Given:
1. package foo;
2.
3. public class Outer {
4. public static class Inner {
5. }
6. }
Which statement is true?
- A. An instance of the Inner class can be constructed with "new Outer.Inner ()"
- B. An instance of the inner class cannot be constructed outside of package foo.
- C. An instance of the inner class can only be constructed from within the outer class.
- D. From within the package foo, an instance of the inner class can be constructed with "new Inner()"
Answer: A
Question No 13
Exhibit:
1. public class EnclosingOne {
2. public class InsideOne {}
3. }
4. public class InnerTest {
5. public static void main(string[] args) {
6. EnclosingOne eo = new EnclosingOne();
7. //insert code here
8. }
9. }
Which statement at line 7 constructs an instance of the inner class?
- A. InsideOne ei = eo.new InsideOne();
- B. Eo.InsideOne ei = eo.new InsideOne();
- C. InsideOne ei = EnclosingOne.new InsideOne();
- D. EnclosingOne.InsideOne ei = eo.new InsideOne();
Answer: D
Question No 14
Exhibit:
1. interface Foo {
2. int k = 0;
3. }
4.
5. public class Test implements Foo {
6. public static void main(String args[]) (
7. int i;
8. Test test = new Test();
9. i = test.k;
10. i = Test.k;
11. i = Foo.k;
12. }
13.}
14.
What is the result?
- A. Compilation succeeds.
- B. An error at line 2 causes compilation to fail.
- C. An error at line 9 causes compilation to fail.
- D. An error at line 10 causes compilation to fail.
- E. An error at line 11 causes compilation to fail.
Answer: A
Question No 15
Given:
1. //point X
2. public class Foo {
3. public static void main(String[] args) throws Exception {
4. PrintWriter out = new PrintWriter(new
5. java.io.OutputStreamWriter(System.out), true);
6. System.out.printIn("Hello");
7. }
8. }
Which statement at PointX on line 1 allows this code to compile and run?
A. import java.io.PrintWriter; B. include java.io.PrintWriter; C. import java.io.OutputStreamWriter; D. include java.io.OutputStreamWriter; E. No statement is needed.
Answer: A
Question No 16
Which two statements are reserved words in Java? (Choose Two)
- A. run
- B. import
- C. default
- D. Implement
Answer: B, C
Question No 17
Which three are valid declarations of a float?
- A. Float foo = -1;
- B. Float foo = 1.0;
- C. Float foo = 42e1;
- D. Float foo = 2.02f;
- E. Float foo = 3.03d;
- F. Float foo = 0x0123;
Answer: D
Question No 18
Given:
1. int index = 1;
2. Boolean[] test = new Boolean[3];
3. boolean foo = test[index];
What is the result?
- A. Foo has the value of 0.
- B. Foo has the value of null.
- C. Foo has the value of true.
- D. Foo has the value of false.
- E. An exception is thrown.
- F. The code will not compile.
Answer: D
Question No 19
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. }
7. }
And command line invocation:
Java Test red green blue
What is the result?
- A. baz has the value of ""
- B. baz has the value of null
- C. baz has the value of "red"
- D. baz has the value of "blue"
- E. baz has the value of "green"
- F. The code does not compile.
- G. The program throws an exception.
Answer: G
Question No 20
Given:
1. int index = 1;
2. int[] foo = new int[3];
3. int bar = foo[index];
4. int baz = bar + index;
What is the result?
- A. Baz has the value of 0
- B. Baz has the value of 1
- C. Baz has the value of 2
- D. An exception is thrown.
- E. The code will not compile.
Answer: B
Question No 21
Given:
1. public class Foo {
2. public static void main(String[] args) {
3. String s;
4. System.out.printIn ("s=" + s);
5. }
6. }
What is the result?
- A. The code compiles and "s=" is printed.
- B. The code compiles and "s=null" is printed.
- C. The code does not compile because string s is not initialized.
- D. The code does not compile because string s cannot be referenced.
- E. The code compiles, but a NullPointerException is thrown when toString is called.
Answer: C
Question No 22
Which will declare a method that forces a subclass to implement it?
- A. Public double methoda();
- B. Static void methoda (double d1) {}
- C. Public native double methoda();
- D. Abstract public void methoda();
- E. Protected void methoda (double d1){}
Answer: D
Question No 23
You want subclasses in any package to have access to members of a superclass. Which is the most restrictive access modifier that will accomplish this objective?
- A. public
- B. private
- C. protected
- D. transient
- E. No access modifier is qualified
Answer: C
Question No 24
Given:
1. abstract class AbstrctIt {
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 is successful.
- B. An error on line 6 causes a runtime failure.
- C. An error at line 6 causes compilation to fail.
- D. An error at line 2 causes compilation to fail.
Answer: C
Question No 25
Exhibit:
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.printIn(j);
12. }
13.}
What is the result?
- A. Compilation will fail.
- B. Compilation will succeed and the program will print "0"
- C. Compilation will succeed and the program will print "1"
- D. Compilation will succeed and the program will print "2"
Answer: A
Question No 26
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 line 6, will cause a compiler error?
- A. public float getNum() {return 4.0f; }
- B. public void getNum() { }
- C. public void getNum(double d) { }
- D. public double getNum(float d) {retrun 4.0f; }
Answer: B
Question No 27
Which declaration prevents creating a subclass of an outer class?
- A. Static class FooBar{}
- B. Private class FooBar{}
- C. Abstract public class FooBar{}
- D. Final public class FooBar{}
- E. Final abstract class FooBar{}
Answer: D
Question No 28
Given:
1. byte[] array1, array2[];
2. byte array3[][];
3. byte[][] array4;
If each array has been initialized, which statement will cause a compiler error?
- A. array2 = array1;
- B. array2 = array3;
- C. array2 = array4;
- D. Both A and B
- E. Both A and C
- F. Both B and C
- G. None of the above answer
Answer: G
Question No 29
Exhibit:
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.printIn(sub.i);
17. }
18.}
What is the result?
- A. Compilation will fail.
- B. Compilation will succeed and the program will print "0"
- C. Compilation will succeed and the program will print "1"
- D. Compilation will succeed and the program will print "2"
Answer: A
Question No 30
Given:
1. public class ReturnIt {
2. returnType methodA(byte x, double y) {
3. return (short) x/y * 2;
4. }
5. }
What is the valid returnType for methodA in line 2?
- A. int
- B. byte
- C. long
- D. short
- E. float
- F. double
Answer: F
Question No: 31
Give the following method:
1 public void method() {
2 String a,b;
3 a = new String("hello world");
4 b = new String("game over");
5 System.out.println(a + b + "ok");
6 a = null;
7 a = b;
8 System.out.println(a);
9 }
In the absence of compiler optimization, which is the earliest point the object a refered is definitely elibile to be garbage collection.
- A. before line 3
- B. before line 5
- C. before line 6
- D. before line 7
- E. Before line 9
Answer: D
Question No: 32
Give the code fragment:
1 switch(x) {
2 case 1: System.out.println("Test 1");break;
3 case 2:
4 case 3: System.out.println("Test 2");break;
5 default:System.out.println("end");
6 }
which value of x would clause "Test 2" to the output:
- A. 1
- B. 2
- C. 3
- D. default
Answer: B, C