logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Language Fundamentals See What Others Are Saying!
  • Question
  • Which three are legal array declarations?

    1. int [] myScores [];
    2. char [] myChars;
    3. int [6] myScores;
    4. Dog myDogs [];
    5. Dog myDogs [7];


  • Options
  • A. 1, 2, 4
  • B. 2, 4, 5
  • C. 2, 3, 4
  • D. All are correct.

  • Correct Answer
  • 1, 2, 4 

    Explanation
    (1), (2), and (4) are legal array declarations. With an array declaration, you can place the brackets to the right or left of the identifier. Option A looks strange, but it's perfectly legal to split the brackets in a multidimensional array, and place them on both sides of the identifier. Although coding this way would only annoy your fellow programmers, for the exam, you need to know it's legal.

    (3) and (5) are wrong because you can't declare an array with a size. The size is only needed when the array is actually instantiated (and the JVM needs to know how much space to allocate for the array, based on the type of array and the size).


    More questions

    • 1. What will be the output of the program?
      public class A
      { 
          void A() /* Line 3 */
          {
              System.out.println("Class A"); 
          } 
          public static void main(String[] args) 
          { 
              new A(); 
          } 
      }
      

    • Options
    • A. Class A
    • B. Compilation fails.
    • C. An exception is thrown at line 3.
    • D. The code executes with no output.
    • Discuss
    • 2. What will be the output of the program?
      class Test 
      {
          public static void main(String [] args) 
          {
              Test p = new Test();
              p.start();
          }
      
          void start() 
          {
              boolean b1 = false;
              boolean b2 = fix(b1);
              System.out.println(b1 + " " + b2);
          }
      
          boolean fix(boolean b1) 
          {
              b1 = true;
              return b1;
          }
      }
      

    • Options
    • A. true true
    • B. false true
    • C. true false
    • D. false false
    • Discuss
    • 3. What will be the output of the program?
      class Test 
      {
          static int s;
          public static void main(String [] args) 
          {
              Test p = new Test();
              p.start();
              System.out.println(s);
          }
      
          void start() 
          {
              int x = 7;
              twice(x);
              System.out.print(x + " ");
          }
      
          void twice(int x) 
          {
              x = x*2;
              s = x;
          }
      }
      

    • Options
    • A. 7 7
    • B. 7 14
    • C. 14 0
    • D. 14 14
    • Discuss
    • 4. 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?

    • Options
    • A. public
    • B. private
    • C. protected
    • D. default access
    • Discuss
    • 5. What will be the output of the program?
      class Super
      { 
          public int i = 0; 
      
          public Super(String text) /* Line 4 */
          {
              i = 1; 
          } 
      } 
      
      class Sub extends Super
      {
          public Sub(String text)
          {
              i = 2; 
          } 
      
          public static void main(String args[])
          {
              Sub sub = new Sub("Hello"); 
              System.out.println(sub.i); 
          } 
      }
      

    • Options
    • A. 0
    • B. 1
    • C. 2
    • D. Compilation fails.
    • Discuss
    • 6. What will be the output of the program (in jdk1.6 or above)?
      public class BoolTest 
      {
          public static void main(String [] args) 
          {
              Boolean b1 = new Boolean("false");
              boolean b2;
              b2 = b1.booleanValue();
              if (!b2) 
              {
                  b2 = true;
                  System.out.print("x ");
              }
              if (b1 & b2) /* Line 13 */
              {
                  System.out.print("y ");
              }
              System.out.println("z");
          }
      }
      

    • Options
    • A. z
    • B. x z