FAQ
  Java Tutorial
  Questions by Topic
  Sample test
  Other Certification sites
  Certification Tips
  Exam Objectives
  Java jobs
  Java News
  About Java Prepare
   Books
  Certification Books
  SCEA Books
  Online Books
   Tutorial Topics
  Language Fundamentals
  Operator and Assignments
  Declaration and Access Control
  Classes in Java
  AWT
  Event classes
  Threads
  Files
   Advertisements



  Please let us know your feedback
 
javaprepare.com
your tool for Java Certification
home | tutorial | questions | test 1 | test 2

Mock Exam 2

The mock exam is modeled on the Sun Certification for Java 2 Programmer exam. The exam has 38 questions. The real exam may be a little tougher than this. You need to score 61% correct answers to clear the real exam. Please let me know if you find any issues with this exam. Some differences between this and the real exam are given below.

  1. The real exam will be tougher than this.
  2. The real exam will have 59 questions. This one has only 38
  3. The real exam would have more programmatic questions. Questions of the type - "what will happen when this code is compiled".
  4. The real exam will have more (and tougher) questions on threads and IO (for SCJP 1,2).
The first 29 questions are valid for both SCJP 1.2 and SCJP 1.4 . The last nine questions are related to User interface, and are valid only for the SCJP 1.2 exam.

  1. Which of the following are Java keywords? Select the three correct answers.
    1. external
    2. implement
    3. throw
    4. void
    5. integer
    6. private
    7. synchronize
    8. unsigned

  2. Which of the following are legal definitions of the main method that can be used to execute a class. Select the one correct answer.
    1. public void main(String args)
    2. public static int main(String args[])
    3. public static void main(String args[])
    4. static public void MAIN(String args[])
    5. public static void main(string args[])
    6. public static void main(String *args)

  3. Which of these are legal array declarations or definitions? Select the two correct answers.
    1. int[] []x[];
    2. int *x;
    3. int x[5];
    4. int[] x = {1,2,3};

  4. Name the collection interface used to represent a sequence of numbers in a fixed order.


  5. The class Hashtable is used to implement which collection interface. Select the one correct answer.
    1. Table
    2. List
    3. Set
    4. SortedSet
    5. Map

  6. What gets printed when the following program is compiled and run? Select the one correct answer.

  7. 
    
    
    class test {
    
        public static void main(String args[]) {
    
            int i;
    
            do {
    
                i++;
    
            }
    
            while(i < 0);
    
            System.out.println(i);
    
        }
    
    }
    
    
    
    
    1. The program does not compile as i is not initialized.
    2. The program compiles but does not run.
    3. The program compiles and runs but does not print anything.
    4. The program prints 0.
    5. The program prints 1.

  8. What gets printed when the following program is compiled and run? Select the one correct answer.
    
    
    
    class xyz {
    
        static int i;
    
        public static void main(String args[]) {
    
    
    
            while (i < 0) {
    
                i--;
    
            }
    
            System.out.println(i);
    
        }
    
    }
    
    
    
    
    1. The program does not compile as i is not initialized.
    2. The program compiles but does not run.
    3. The program compiles and runs but does not print anything.
    4. The program prints 0.
    5. The program prints 1.

  9. What gets printed when the following program is compiled and run? Select the one correct answer.
  10. 
    
    
    class xyz {
    
     
    
        public static void main(String args[]) {
    
            int i,j,k;
    
            for (i = 0; i < 3; i++) {
    
                for(j=1; j < 4; j++) {
    
                    for(k=2; k<5; k++) {
    
                        if((i == j)   && (j==k))
    
                            System.out.println(i);
    
                    }                
    
                }
    
            }
    
        }
    
    }
    
    
    
    
    1. 0
    2. 1
    3. 2
    4. 3
    5. 4

  11. Using up to four characters what is the Java representation of the number 23 in hex?


  12. What gets printed when the following program is compiled and run? Select the one correct answer.
  13. 
    
    
    class test {
    
        static boolean check;
    
        public static void main(String args[]) {
    
            int i;
    
            if(check == true)
    
                i=1;
    
            else
    
                i=2;
    
    
    
            if(i=2) i=i+2;
    
            else i = i + 4;
    
            System.out.println(i);
    
         }
    
    }
    
    
    
    
    1. 3
    2. 4
    3. 5
    4. 6
    5. The program does not compile because of the statement if(i=2)

  14. Select the one correct answer. The smallest number that can be represented using short primitive type in Java is -
    1. 0
    2. -127
    3. -128
    4. -16384
    5. -32768
    6. The smallest number is compiler dependent.

  15. Given the following declarations, which of the assignments given in the options below would compile. Select the two correct answers.
    
    
    
    int i = 5;
    
    boolean t = true;
    
    float f = 2.3F;
    
    double d = 2.3;
    
    
    
    
    1. t = (boolean) i;
    2. f = d;
    3. d = i;
    4. i = 5;
    5. f = 2.8;

  16. What gets printed when the following program is compiled and run. Select the one correct answer.
    
    
    
    public class incr {
    
        public static void main(String args[]) {
    
            int i , j;
    
            i = j = 3;
    
            int n = 2 * ++i;
    
            int m = 2 * j++;
    
            System.out.println(i + " " + j + " " + n + " " + m);
    
        }
    
    }
    
    
    
    
    1. 4 4 8 6
    2. 4 4 8 8
    3. 4 4 6 6
    4. 4 3 8 6
    5. 4 3 8 8
    6. 4 4 6 8

  17. Given two non-negative integers a and b and a String str, what is the number of characters in the expression str.substring(a,b) . Select the one correct answer.
    1. a + b
    2. a - b
    3. b - a - 1
    4. b - a + 1
    5. b - a
    6. b

  18. What is the result of compiling and running the following program. Select the one correct answer.
    
    
    
    class test {
    
        public static void main(String args[]) {
    
            char ch;
    
            String test2 = "abcd";
    
            String test = new String("abcd");
    
            if(test.equals(test2)) {
    
                if(test == test2)
    
                    ch = test.charAt(0);
    
                else
    
                    ch = test.charAt(1);	           
    
            }
    
            else {
    
                if(test == test2)
    
                    ch = test.charAt(2);
    
                else                
    
                    ch = test.charAt(3);
    
            }
    
            System.out.println(ch);
    
        }
    
    }
    
    
    
    
    1. 'a'
    2. 'b'
    3. 'c'
    4. 'd'

  19. What is the result of compiling and running the following program. Select the one correct answer.
    
    
    
    class test {
    
        public static void main(String args[]) {
    
         int i,j=0;
    
         for(i=10;i<0;i--) { j++; }
    
         switch(j) {
    
         case (0) :
    
             j=j+1;
    
         case(1):
    
             j=j+2;
    
             break;
    
         case (2) :
    
             j=j+3;
    
             break;
    
         
    
         case (10) :
    
             j=j+10;
    
             break;
    
         default :
    
             break;
    
         }
    
       System.out.println(j);
    
       }
    
    }
    
    
    
    
    1. 0
    2. 1
    3. 2
    4. 3
    5. 10
    6. 20

  20. What is the number displayed when the following program is compiled and run.
  21. 
    
    
    class test {
    
        public static void main(String args[]) {
    
            test test1 = new test();
    
                System.out.println(test1.xyz(100));    
    
        }
    
        public int xyz(int num) {
    
            if(num == 1) return 1;
    
            else return(xyz(num-1) + num);
    
        }
    
    }
    
    
    
    

  22. Which of the following statements are true. Select the one correct answer.
    1. Arrays in Java are essentially objects.
    2. It is not possible to assign one array to another. Individual elements of array can however be assigned.
    3. Array elements are indexed from 1 to size of array.
    4. If a method tries to access an array element beyond its range, a compile warning is generated.

  23. Which expression can be used to access the last element of an array. Select the one correct answer.
    1. array[array.length()]
    2. array[array.length() - 1]
    3. array[array.length]
    4. array[array.length - 1]

  24. What is the result of compiling and running the following program. Select the one correct answer.
  25. 
    
    
    class test {
    
        public static void main(String args[]) {
    
            int[] arr = {1,2,3,4};
    
            call_array(arr[0], arr);
    
            System.out.println(arr[0] + "," + arr[1]);        
    
        }
    
        static void call_array(int i, int arr[]) {
    
            arr[i] = 6;
    
            i = 5;
    
        }    
    
    }
    
    
    
    
    1. 1,2
    2. 5,2
    3. 1,6
    4. 5,6

  26. Which of the following statements are correct. Select the one correct answer.
    1. Each Java file must have exactly one package statement to specify where the class is stored.
    2. If a Java file has both import and package statement, the import statement must come before package statement.
    3. A Java file has at least one class defined.
    4. If a Java file has a package statement, it must be the first statement (except comments).

  27. What happens when the following program is compiled and then the command "java check it out" is executed. Select the one correct answer.
  28. 
    
    
    class check {
    
        public static void main(String args[]) {
    
            System.out.println(args[args.length-2]);
    
        }
    
    }
    
    
    
    
    1. The program does not compile.
    2. The program compiles but generates ArrayIndexOutOfBoundsException exception.
    3. The program prints java
    4. The program prints check
    5. The program prints it
    6. The program prints out

  29. What all gets printed when the following code is compiled and run. Select the three correct answers.
  30. 
    
    
    class test {
    
        public static void main(String args[]) {
    
            int i[] = {0,1};
    
            try {
    
                i[2] = i[0] + i[1];
    
            }
    
            catch(ArrayIndexOutOfBoundsException e1) {
    
                System.out.println("1");
    
            }
    
            catch(Exception e2) {
    
                System.out.println("2");
    
            }
    
            finally {
    
                System.out.println(3);
    
            }
    
            System.out.println("4");  
    
         }
    
    }
    
    
    
    
    1. 1
    2. 2
    3. 3
    4. 4

  31. A program needs to store the name, salary, and age of employees in years. Which of the following data types should be used to create the Employee class. Select the three correct answers.
    1. char
    2. boolean
    3. Boolean
    4. String
    5. int
    6. double

  32. To make a variable defined in a class accessible only to methods defined in the classes in same package, which of the following keyword should be used. Select the one correct answer.
    1. By using the keyword package before the variable.
    2. By using the keyword private before the variable.
    3. By using the keyword protected before the variable.
    4. By using the keyword public before the variable.
    5. The variable should not be preceded by any of the above mentioned keywords.

  33. In implementing two classes Employee and Manager, such that each Manager is an Employee, what should be the relationship between these classes. Select the one correct answer.
    1. Employee should be the base class of Manager class.
    2. Manager should be the base class of Employee class.
    3. Manager class should include the Employee class as a data member.
    4. Employee class should include Manager class as a data member.
    5. The Manager and Employee should not have any relationship.

  34. Select the one most appropriate answer. What is the purpose of method parseInt defined in Integer class.
    1. The method converts an integer to a String.
    2. The method is used to convert String to an integer, assuming that the String represents an integer.
    3. The method is used to convert String to Integer class, assuming that the String represents an integer.
    4. The method converts the Integer object to a String.

  35. What should be done to invoke the run() method on a thread for an object derived from the Thread class. Select the one correct answer.
    1. The run() method should be directly invoked on the Object.
    2. The start() method should be directly invoked on the Object.
    3. The init() method should be directly invoked on the Object.
    4. The creation of the object using the new operator would create a new thread and invoke its run() method.

  36. What is the default priority of a newly created thread.
    1. MIN_PRIORITY (which is defined as 1 in the Thread class.)
    2. NORM_PRIORITY (which is defined as 5 in the Thread class.)
    3. MAX_PRIORITY (which is defined as 10 in the Thread class.)
    4. A thread inherits the priority of its parent thread.

    The remaining questions are from AWT and related topics, and are not relevant for SCJP 1.4 .

  37. Which of following correctly describes the functionality of the method drawRect(int a, int b, int c, int d) defined in jawa.awt.Graphics class. Select the one correct option.
    1. Draws the outline of a rectangle with a, b being the x,y co-ordinates of top left corner, and c,d being the x,y co-ordinates of the bottom right corner.
    2. Draws the outline of a rectangle with a, b being the x,y co-ordinates of top left corner, and c,d being the width and height of the rectangle.
    3. Draws a filled rectangle with a, b being the x,y co-ordinates of top left corner, and c,d being the x,y co-ordinates of the bottom right corner.
    4. Draws a filled rectangle with a, b being the x,y co-ordinates of top left corner, and c,d being the width and height of the rectangle.

  38. Which Listener interface must be implemented by a class responsible for handling mouse clicks on buttons?


  39. The getSource method defined in the EventObject class returns the source of an event. What is the return type of this getSource method?
    1. EventObject
    2. Event
    3. Object
    4. Component
    5. Button

  40. The focusLost method is defined in FocusListener interface and is executed when a control loses focus. What is the argument of focusLost method?


  41. Which of the following is the super class of these classes - ContainterEvent, FocusEvent, InputEvent, PaintEvent, WindowEvent. Select the one correct answer.
    1. ActionEvent
    2. AdjustmentEvent
    3. ComponentEvent
    4. ItemEvent
    5. TextEvent
    6. Event

  42. Which of these are adapter classes. Select the three correct answers.
    1. ComponentAdapter
    2. ItemAdapter
    3. ActionAdapter
    4. KeyAdapter
    5. ContainerAdapter

  43. Which of the following statements about layout managers is true. Select the one correct answer.
    1. FlowLayout places components left-aligned in a row (by default) and when there is no space in a row, another row is started.
    2. FlowLayout provides a constructor Flowlayout(int align, int x, int y), where x and y are the coordinates of the first component being added.
    3. The FlowLayout is the default layout manager for Window class
    4. Default horizontal and vertical gaps of components placed using FlowLayout is 5 pixels.

  44. Which of the following is true about BorderLayout. Select the two correct answers.
    1. The default layout manager for Applet class is BorderLayout.
    2. BorderLayout places components in North, South, East and West first and then the remaining space is occupied by the Center component.
    3. When a component is added in BorderLayout using the add method, it is placed in the center by default.
    4. The BorderLayout always honors the size of components provided by the program.

  45. Which of these is true about the GridBagLayout. Select the one correct answer.
    1. The weightx and weighty fields of GridBagConstraints specify how many column and rows each component occupies.
    2. The gridwidth and gridheight constraints of GridBagConstraints specify the width and height in pixels of each cell.
    3. GridBagLayout is the default layout manager of the Frame class.
    4. The gridx and gridy parameters of GridBagConstraints define the column and row position of the upper left corner of the component.


Answers to Sample Test 2

  1. c, d, f
  2. c. The main method must be static and return void. Hence a and b are incorrect. It must take an array of String as argument. Hence e and f are incorrect. As Java is case sensitive, d is incorrect.
  3. a, d
  4. List
  5. e. The collection interface Map has two implementation HashMap and Hashtable.
  6. a. Local variables are not initialized by default. They must be initialized before they are used.
  7. d. The variable i gets initialized to zero. The while loop does not get executed.
  8. c. During various iterations of three loops, the only time i, j and k have same values are when all of them are set to 2.
  9. 0x17 or 0X17.
  10. e. The statement "i=2" evaluates to 2. The expression within the if block must evaluate to a boolean.
  11. e. The range of short primitive type is -32768 to 32767.
  12. c,d. Java does not allow casts between boolean values and any numeric types. Hence a is incorrect. Assigning double to a float requires an explicit cast. Hence b and e are incorrect.
  13. a
  14. e
  15. b. Both Strings test and test2 contain "abcd" . They are however located at different memory addresses. Hence test == test2 returns false, and test.equals(test2) returns true.
  16. d. The for loop does not get executed even once as the condition (i < 0) fails in the first iteration. In the switch statement, the statement j = j +1; gets executed, setting j to 1. As there is no break after this case, the next statement also gets executed setting j to 3.
  17. 5050. The recursive function xyz essentially sums up numbers 1 to num. This evaluates to (num * (num + 1))/2.
  18. a. Java supports assignment of one array to another. Hence b is incorrect. Array elements are indexed from 0. Hence c is incorrect. A method that accesses array elements out of its range does not generate a compilation error. Hence d is incorrect.
  19. d. array.length gives the number of elements in the array. As indexes in Java start from 0, d is the correct answer.
  20. c. In the invocation of call_array, the first element is invoked using call-by-value, and the second using call-by-reference.
  21. d. import statement, package statement and class definitions are all optional in a file. Hence a and c are incorrect. If both import and package statements are present in a file, then package statement must appear before the import statement. Hence b is incorrect.
  22. e. The args array consists of two elements "it" and "out". args.length is set to two.
  23. a,c,d. The exception ArrayIndexOutOfBoundsException is generated as the main method tries to access i[2]. Hence 1 gets printed. After this finally block gets excuted, before the program exits.
  24. d,e,f
  25. e. A data member that does not have public/protected/private is accessible to all methods in the same package.
  26. a. The Manager and Employee share as "is a" relationship - A Manager is an Employee. This is captured by making Employee the base class of Manager.
  27. b. The method int parseInt(Sting s) returns the integer value corresponding to input String, assuming that the input string represents an integer in base 10.
  28. b. The start() method invokes the run() method when the thread is ready to execute.
  29. d
  30. b. drawRect method draws the outline of a rectangle. The last two arguments are width and height of the rectangle.
  31. ActionListener
  32. c. The getSource method returns a reference to the object where the event initially occurred.
  33. FocusEvent. A class implementing FocusListener interface must implement the following method -
       public void focusLost(FocusEvent)
       public void focusGained(FocusEvent)
  34. c
  35. a,d,e. There are no adapter classes corresponding to the following interfaces - ActionListener, ItemListener, AdjustmentListener, and TextListener.
  36. d. The default alignment for FlowLayout is CENTER. Hence a is incorrect. The default Layout Manager for Window class is BorderLayout. Hence c is incorrect. X and y in option b indicate horizontal and vertical gaps between components.
  37. b,c. The default Layout Manager for Applet class is FlowLayout. Hence a is incorrect. BorderLayout grows all components to fill the space available. Hence d is incorrect.
  38. d. The weightx and weighty specify how the size of a cell should change when the container exceeds the preferred size of component. Hence a is not correct. gridwidth and gridheight specify how many columns and rows the component specifies. So b is incorrect. BorderLayout is the default layout manager for Frame class.
home | tutorial | questions | test 1