| Question
                  1. | 
                If all three top-level elements occur in a source
                  file, they must appear in which order? A.
                   Imports, package declaration, classes. 
                  B.  Classes, imports, package declarations 
                  C.   Package
                  declaration must come first; order for imports and class
                  definitions is not 
                          significant.    
                  
                  D.  Package
                  declaration, imports, classes. 
                  E.   Imports
                  must come first; order for package declaration and class
                  definitions is not 
                             significant.   | 
              
              
                | Question
                  2. | 
                
                   Consider
                  the following application: 
                  class Q6 { 
                     public
                  static void main(String args[ ]) { 
                        
                  Holder h = new Holder( ); 
                        
                  h.held = 100; 
                        
                  h.bump(h); 
                        
                  System.out.println(h.held); 
                       } 
                  } 
                  class
                  Holder { 
                   
                  public int held; 
                    public void
                  bump( holder theHolder) { theHolder.held++; } 
                  } 
                   
                  What value is printed out at line 6?  
                  A. 0 
                  B. 1  
                  C. 100  
                  D. 101 
                  E. 99   | 
              
              
                | Question
                  3. | 
                
                    What
                  results from running the following code? 
                  1.     
                  public class Short { 
                  2.     
                      public
                  static void main(String args[ ]) { 
                  3.     
                          StringBuffer
                  s = new StringBuffer(“Hello”); 
                  4.     
                          if
                  ((s.length( ) > 5) && 
                  5.     
                            (s.append(“
                  there”).equals(“False”))) 
                  6.     
                             ;
                  / / do nothing 
                  7.     
                          System.out.println(“value
                  is “ + s); 
                  8.     
                      } 
                  9.     
                  } 
                  
                  
                  
                  A. 
                  The output: value is Hello 
                  B. 
                  The output: value is Hello there 
                  C. 
                  A compiler error at line 4 or 5 
                  D. 
                  No
                  output 
                  E. 
                  A NullPointerException 
                   | 
              
              
                | Question
                  4. | 
                
                   What
                  results from running the following code? 
                  1.     
                  public class Xor { 
                  2.     
                       public
                  static void main(String args[ ]) { 
                  3.     
                           byte
                  b = 10; / / 00001010 binary 
                  4.     
                           byte
                  c = 15; / / 00001111 binary 
                  5.     
                           b
                  = (byte)(b ^ c); 
                  6.     
                           System.out.println(“b
                  contains ” + b); 
                  7.     
                      } 
                  8.     
                  } 
                   
                  A. 
                  The output: b contains 10    
                  B. 
                  The output: b contains 5    
                  C. 
                  The output: b contains 250    
                  D. 
                  The output: b contains 245  
                  E. 
                  The output: b contains 300    
                    | 
              
              
                | Question
                  5. | 
                
                   What
                  results from the following fragment of code? 
                  1.     
                  int x = 1; 
                  2.     
                  String [ ] names = { “Fred”, “Jim” ,
                  “Sheila” }; 
                  3.     
                  names [--x] += “ . ”; 
                  4.     
                  for (int I = 0, I < names.length; I++) { 
                  5.     
                     System.out.println(names[I]); 
                  6.     
                  } 
                   
                  A. 
                  The
                  output includes Fred. With a trailing period. 
                  B.  
                  The output includes Jim. With a trailing period.  
                  C.  The
                  output includes Sheila. With a trailing period.  
                  D.  
                  None of the outputs shows a trailing period.  
                  E.  
                  An ArrayIndexOutOfBoundsException is thrown.   | 
              
              
                | Question
                  6. | 
                
                   What
                  is the minimal modification that will make the code below
                  compile correctly? 
                  1.     
                  final class Aaa 
                  2.     
                  { 
                  3.     
                        int
                  xxx; 
                  4.     
                        void
                  yyy( ) { xxx = 1; } 
                  5.     
                  } 
                  6.     
                    
                  7.     
                    
                  8.     
                  class Bbb extends Aaa 
                  9.     
                  { 
                  10. 
                        final
                  Aaa finalref = new Aaa( ) 
                  11. 
                    
                  12. 
                        final
                  void yyy( ) 
                  13. 
                       { 
                  14. 
                             System.out.println(“In
                  method yyy( )”); 
                  15. 
                             finalref.xxx
                  = 12345; 
                  16. 
                        } 
                  17. 
                  } 
                   
                  A.  
                  On line 1, remove the final modifier.  
                  B.   
                  On
                  line 10, remove the final modifier.  
                  C.  
                  Remove line 15.  
                  D.  
                  On lines 1 and 10, remove the final modifier.  
                  E.  The
                  code will compile as is. No modification is needed.   | 
              
              
                | Question
                  7. | 
                
                    Which one of the
                  following statements is true? 
                   
                  A.  Transient
                  methods may not be overridden. 
                  B.  Transient
                  methods must be overridden. 
                  C.  Transient
                  classes may not be serialized. 
                  D.  Transient
                  variables must be static. 
                  E.  Transient
                  variables are not serialized.  | 
              
              
                | Question
                  8. | 
                
                   Which one statement is true about the code below? 
                  1.     
                  Class HasStatic 
                  2.     
                  { 
                  3.     
                         private
                  static int x = 100; 
                  4.     
                    
                  5.     
                         public
                  static void main(String args[ ]) 
                  6.     
                        { 
                  7.     
                                HasStatic
                  hs1 = new HasStatic( ); 
                  8.     
                                hs1.x++; 
                  9.     
                                HasStatic
                  hs2 = new HasStatic( ); 
                  10. 
                                hs2.x++; 
                  11. 
                           
                    hs1
                  = new HasStatic( ); 
                  12. 
                                hs1.x++; 
                  13. 
                                HasStatic.x++; 
                  14. 
                                System.out.println(“x
                  = ”+ x); 
                  15. 
                         } 
                  16  } 
                    
                  A. 
                  Line
                  8 will not compile, because it is a static reference to a
                  private variable. 
                  B.  Line
                  13 will not compile, because it is a static reference to a
                  private variable 
                  C.  The
                  program compiles, and the output is x = 102.  
                  D.  The
                  program compiles, and the output is x = 103. 
                  E.  The
                  program compiles, and the output is x = 104  | 
              
              
                | Question
                  9. | 
                Which modifier or modifiers should be used to denote a
                  variable that should not be written out as part of its
                  class’ persistent state? (Choose the shortest possible
                  answer.) 
                   A.     private  
                  B.    
                  protected  
                  C.    
                  private protected  
                  D.    
                  transient  
                  E.     private transient   | 
              
              
                | Question
                  10. | 
                Which
                  one line in the following code will not compile?  
                  
                  A.  byte
                  b = 5; 
                  B.  char
                  c = ‘5’; 
                  C.  short
                  s = 55; 
                  D.  int
                  i = 555; 
                  E.  
                  b = s; 
                  | 
              
              
                | Question
                  11. | 
                Consider
                  the following class: 
                  1.     
                  class Cruncher { 
                  2.     
                     void
                  crunch(int i)          {System.out.println(“int   
                  version”);} 
                  3.     
                     void
                  crunch(String s) {System.out.println(“String _ 
                     version”);} 
                  4.     
                    
                  5.     
                     public
                  static void main(String args[ ]) { 
                  6.     
                     Cruncher
                  crun = new Cruncher( ); 
                  7.     
                     char
                  ch = ‘p’; 
                  8.     
                     crun.crunch(ch); 
                  9.     
                     } 
                  10. 
                  } 
                     
                  Which of the statements below is true? (Choose one.)  
                  A.  Line
                  3 will not compile, because void methods cannot be overridden. 
                  B.  
                  Line 8 will not compile, because there is no version of
                  crunch( ) that takes a char 
                           argument.  
                  C.  The
                  code will compile but will throw an exception at line 8. 
                  
                  D.  The
                  code will compile and produce the following output:int version 
                  E.  
                  The code will compile and produce the following output:String version 
                    | 
              
              
                | Question
                  12. | 
                
                   Which
                  of the statements below is true? (Choose one.) 
                   
                  A.  Object
                  references can be converted in assignments but not in method
                  calls. 
                  B.  Object
                  references can be converted in method calls but not in
                  assignments. 
                  C.  Object
                  references can be converted in both method calls and
                  assignments, but the 
                           rules
                  governing these conversions are very different. 
                  D.  
                  Object references can be converted in both method calls
                  and assignments, and the 
                           rules
                  governing these conversions are identical. 
                  E.  Object references can never be converted.  | 
              
              
                | Question
                  13. | 
                
                   Consider
                  the following code:  
                  Which
                  line below will not compile?  
                  A.  Object
                  ob = new Object( ); 
                  B.  String
                  stringarr[ ] = new String[50]; 
                  C.  
                  Float floater = new Float(3.14f);  
                  D.  floater
                  = ob; 
                  E.  
                  ob = stringarr[5];   | 
              
              
                | Question
                  14. | 
                
                   Consider
                  the following code: 
                   
                  1.     
                  outer: for (int i = 0; i < 2; i++) { 
                  2.     
                      for
                  (int j = 0; j < 3; j++) { 
                  3.     
                          if
                  (i = = j) { 
                  4.     
                            continue
                  outer; 
                  5.     
                         } 
                  6.     
                         System.out.println(“i
                  = “ + i + “ j = “ + j); 
                  7.     
                      } 
                  8.     
                  }
                   Which
                  lines would be part of the output?
                  
                   A.  i
                  = 0 j = 0  
                  B.  i
                  = 0 j = 1 
                  C.  i
                  = 0 j = 2  
                  D.  i
                  = 1 j = 0  
                  E.  i
                  = 1 j = 1  
                    | 
              
              
                | Question
                  15. | 
                
                   What
                  would be the output from this code fragment? 
                  1.     
                  int x = 0, y = 4, z = 5; 
                  2.     
                  If (x > 2) { 
                  3.     
                     If
                  (y < 5) { 
                  4.     
                       System.out.println(“message
                  one”); 
                  5.     
                     } 
                  6.     
                     else
                  { 
                  7.     
                       System.out.println(“message
                  two”); 
                  8.     
                     } 
                  9.     
                  } 
                  10. 
                  else if (z > 5) { 
                  11. 
                       System.out.println(“message
                  three”); 
                  12. 
                  }  
                  13. 
                  else { 
                  14. 
                       System.out.println(“message
                  four”); 
                  15. 
                  } 
                   
                  A.  message
                  one  
                  B.  message
                  two 
                  C.  message
                  three 
                  D.  message
                  four 
                  E.  Compile
                  Error Occurs  | 
              
              
                | Question
                  16. | 
                
                   1.     
                  Which statement is true about the following code
                  fragment? 
                  1.     
                  int j = 2; 
                  2.     
                  switch ( j ) { 
                  3.     
                       case
                  2: 
                  4.     
                           System.out.println(“value
                  is two”); 
                  5.     
                       case
                  2 + 1: 
                  6.     
                           System.out.println(“value
                  is three”); 
                  7.     
                           break; 
                  8.     
                       default: 
                  9.     
                           System.out.println(“value
                  is  “ + j); 
                  10. 
                           break; 
                  11. } 
                   
                  A.  The
                  code is illegal because of the expression at line 5 
                  B.  The
                  acceptable types for the variable j, as the argument to the
                  switch( ) construct, 
                          could be any of
                  byte, short, int, or long 
                  C.  
                  The output would be only the text value is two. 
                  D.  
                  The output would be the text value is two followed by the text value is three. 
                  E.  
                  The output would be the text value is two, followed by the text value is three, followed 
                           by the text value is 2  | 
              
              
                | Question
                  17. | 
                
                   1.     
                  Which one of the following fragments shows the most
                  appropriate way to throw an exception? Assume that any
                  undeclared variables have been appropriately elsewhere and are
                  in scope and have meaningful values. 
                  A.     
                  1. Exception
                  e = new IOException(“File not found”); 
                            2. if
                  (!f.exists( ) ) { / / f is a file object 
                            3.   throw e; 
                            4. }  
                  B.      
                  1. if (!f.exists( ) ) { / / f is a File object 
                            2.     
                  throw new IOException(“File” + f.getName( ) + “
                  not _ found”); 
                            3.     
                  }  
                  C.  
                  1.    if (!f.exists( ) ) { 
                           2.   throw IOException; 
                           3. }
                   
                  D.  1.
                  if (!f.exists( )) { 
                           2. throw
                  “File not found”; 
                           3. } 
                  E.   
                  1. if (!f.exists( )) { / / f is a File object 
                           2.   throw new IOException( ); 
                           3. } 
                    | 
              
              
                | Question
                  18. | 
                
                   A
                  thread’s run( ) method includes the following lines: 
                  1.     
                  try { 
                  2.     
                     sleep(100); 
                  3.     
                  } catch (InterruptedException e) { } 
                   
                  Assuming
                  the thread is not interrupted, which one of the following
                  statements is correct? 
                  A.  
                  The code will not compile, because exceptions may not
                  be caught in a thread’s run( ) 
                           method. 
                  B.  At
                  line 2, the thread will stop running. Execution will resume in
                  at most 100 milliseconds. 
                  C.  At
                  line 2, the thread will stop running. It will resume running
                  in exactly 100 millisecond. 
                  D.  At
                  line 2, the thread will stop running. It will resume running
                  some time after 100 
                          milliseconds have
                  elapsed. 
                  E.  The
                  operating system crashes. 
                    | 
              
              
                | Question
                  19. | 
                
                   Which
                  one statement is true about the code below? 
                   
                  1.     
                  String s1 = “abc” + “def”; 
                  2.     
                  String s2 = newString(S1); 
                  3.     
                  If (s1 = = s2) 
                  4.     
                     System.out.println(“=
                  = succeeded”); 
                  5.     
                  if (s1.equals(s2)) 
                  6.     
                     System.out.println(“.equals(
                  ) succeeded”); 
                   
                  A. 
                  Lines
                  4 and 6 both execute.  
                  B.  Line
                  4 executes, and line 6 does not. 
                  C.  Line
                  6 executes, and line 4 does not. 
                  D.  Neither
                  line 4 nor line 6 executes. 
                  E.  No output
                  is seen on the screen. 
                    | 
              
              
                | Question
                  20. | 
                
                   Which
                  one statement is true about the code fragment below? 
                   
                  1.     
                  String s = “abcde”; 
                  2.     
                  StringBuffer s1 = new StringBuffer(“abcde”); 
                  3.     
                  If (s.equals(s1)) 
                  4.     
                     s1
                  = null; 
                  5.     
                  if (s1.equals(s)) 
                  6.     
                     s
                  = null; 
                   
                  A.  Compilation
                  fails at line 1, because the String constructor must be called
                  explicitly 
                  B.  Compilation
                  fails at line 3, because s and s1 have different types. 
                  C.  Compilation
                  succeeds. During execution, an exception is thrown at line 3. 
                  D.  Compilation
                  succeeds. During execution, an exception is thrown at line 5. 
                  E.  Compilation
                  succeeds. No exception is thrown during execution.  | 
              
              
                |   | 
              
              
                  
answers 
                    scores     
  |