logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Flow Control Comments

  • Question
  • What will be the output of the program?
    public class Switch2 
    {
        final static short x = 2;
        public static int y = 0;
        public static void main(String [] args) 
        {
            for (int z=0; z < 3; z++) 
            {
                switch (z) 
                {
                    case x: System.out.print("0 ");
                    case x-1: System.out.print("1 ");
                    case x-2: System.out.print("2 ");
                }
            }
        }
    }
    


  • Options
  • A. 0 1 2
  • B. 0 1 2 1 2 2
  • C. 2 1 0 1 0 0
  • D. 2 1 2 0 1 2

  • Correct Answer
  • 2 1 2 0 1 2 

    Explanation
    The case expressions are all legal because x is marked final, which means the expressions can be evaluated at compile time. In the first iteration of the for loop case x-2 matches, so 2 is printed. In the second iteration, x-1 is matched so 1 and 2 are printed (remember, once a match is found all remaining statements are executed until a break statement is encountered). In the third iteration, x is matched. So 0 1 and 2 are printed.

    Flow Control problems


    Search Results


    • 1. What will be the output of the program?
      public class Test 
      {  
          public static void main(String args[]) 
          { 
              int i = 1, j = 0; 
              switch(i) 
              { 
                  case 2: j += 6; 
                  case 4: j += 1; 
                  default: j += 2; 
                  case 0: j += 4; 
              } 
              System.out.println("j = " + j); 
          } 
      }
      

    • Options
    • A. j = 0
    • B. j = 2
    • C. j = 4
    • D. j = 6
    • Discuss
    • 2. What will be the output of the program?
      int I = 0;
      label:
          if (I < 2) {
          System.out.print("I is " + I);
          I++;
          continue label;
      }
      

    • Options
    • A. I is 0
    • B. I is 0 I is 1
    • C. Compilation fails.
    • D. None of the above
    • Discuss
    • 3. What will be the output of the program?
      public class If2 
      {
          static boolean b1, b2;
          public static void main(String [] args) 
          {
              int x = 0;
              if ( !b1 ) /* Line 7 */
              {
                  if ( !b2 ) /* Line 9 */
                  {
                      b1 = true;
                      x++;
                      if ( 5 > 6 ) 
                      {
                          x++;
                      }
                      if ( !b1 ) 
                          x = x + 10;
                      else if ( b2 = true ) /* Line 19 */
                          x = x + 100;
                      else if ( b1 | b2 ) /* Line 21 */
                          x = x + 1000;
                  }
              }
              System.out.println(x);
          }
      }
      

    • Options
    • A. 0
    • B. 1
    • C. 101
    • D. 111
    • Discuss
    • 4. What will be the output of the program?
      boolean bool = true; 
      if(bool = false) /* Line 2 */
      {
          System.out.println("a"); 
      } 
      else if(bool) /* Line 6 */
      {
          System.out.println("b"); 
      } 
      else if(!bool) /* Line 10 */
      {
          System.out.println("c"); /* Line 12 */
      } 
      else 
      {
          System.out.println("d"); 
      }
      

    • Options
    • A. a
    • B. b
    • C. c
    • D. d
    • Discuss
    • 5. What will be the output of the program?
      int i = 1, j = 10; 
      do 
      {
          if(i > j) 
          {
              break; 
          } 
          j--; 
      } while (++i < 5); 
      System.out.println("i = " + i + " and j = " + j);
      

    • Options
    • A. i = 6 and j = 5
    • B. i = 5 and j = 5
    • C. i = 6 and j = 4
    • D. i = 5 and j = 6
    • Discuss
    • 6. What will be the output of the program?
      public class Switch2 
      {
          final static short x = 2;
          public static int y = 0;
          public static void main(String [] args) 
          {
              for (int z=0; z < 4; z++) 
              {
                  switch (z) 
                  {
                      case x: System.out.print("0 ");
                      default: System.out.print("def ");
                      case x-1: System.out.print("1 ");  
                                  break;
                      case x-2: System.out.print("2 ");
                  }
              }
          }
      }
      

    • Options
    • A. 0 def 1
    • B. 2 1 0 def 1
    • C. 2 1 0 def def
    • D. 2 1 0 def 1 def 1
    • Discuss
    • 7. What will be the output of the program?
      int i = 0, j = 5; 
      tp: for (;;) 
          {
              i++;  
              for (;;) 
              {
                  if(i > --j) 
                  {
                      break tp; 
                  } 
              } 
              System.out.println("i =" + i + ", j = " + j);
      

    • Options
    • A. i = 1, j = 0
    • B. i = 1, j = 4
    • C. i = 3, j = 4
    • D. Compilation fails.
    • Discuss
    • 8. What will be the output of the program?
      int i = 0; 
      while(1) 
      {
          if(i == 4) 
          {
              break;
          } 
          ++i; 
      } 
      System.out.println("i = " + i);
      

    • Options
    • A. i = 0
    • B. i = 3
    • C. i = 4
    • D. Compilation fails.
    • Discuss
    • 9. What will be the output of the program?
      for(int i = 0; i < 3; i++) 
      { 
          switch(i) 
          { 
              case 0: break; 
              case 1: System.out.print("one "); 
              case 2: System.out.print("two "); 
              case 3: System.out.print("three "); 
          } 
      } 
      System.out.println("done");
      

    • Options
    • A. done
    • B. one two done
    • C. one two three done
    • D. one two three two three done
    • Discuss
    • 10. What will be the output of the program?
      public class Test 
      {
          public static void main(String [] args) 
          {
              int I = 1;
              do while ( I < 1 )
              System.out.print("I is " + I);
              while ( I > 1 ) ;
          }
      }
      

    • Options
    • A. I is 1
    • B. I is 1 I is 1
    • C. No output is produced.
    • D. Compilation error
    • Discuss


    Comments

    There are no comments.

Enter a new Comment