Java Questions & Answers – Control Statements

This section of our 1000+ Java MCQs focuses on control statements of Java Programming Language.

1. Which of these selection statements test only for equality?
a) if
b) switch
c) if & switch
d) none of the mentioned
View Answer

Answer: b
Explanation: Switch statements checks for equality between the controlling variable and its constant cases.

2. Which of these are selection statements in Java?
a) if()
b) for()
c) continue
d) break
View Answer

Answer: a
Explanation: Continue and break are jump statements, and for is a looping statement.

3. Which of the following loops will execute the body of loop even when condition controlling the loop is initially false?
a) do-while
b) while
c) for
d) none of the mentioned
View Answer

Answer: a
Explanation: None.
advertisement
advertisement

4. Which of these jump statements can skip processing the remainder of the code in its body for a particular iteration?
a) break
b) return
c) exit
d) continue
View Answer

Answer: d
Explanation: None.

5. Which of this statement is incorrect?
a) switch statement is more efficient than a set of nested ifs
b) two case constants in the same switch can have identical values
c) switch statement can only test for equality, whereas if statement can evaluate any type of boolean expression
d) it is possible to create a nested switch statements
View Answer

Answer: b
Explanation: No two case constants in the same switch can have identical values.

6. What will be the output of the following Java program?

  1.     class selection_statements 
  2.     {
  3.         public static void main(String args[])
  4.         {
  5.             int var1 = 5; 
  6.             int var2 = 6;
  7.             if ((var2 = 1) == var1)
  8.                 System.out.print(var2);
  9.             else 
  10.                 System.out.print(++var2);
  11.         } 
  12.     }

a) 1
b) 2
c) 3
d) 4
View Answer

Answer: b
Explanation: var2 is initialised to 1. The conditional statement returns false and the else part gets executed.
output:

advertisement
$ javac selection_statements.java
$ java selection_statements
2

7. What will be the output of the following Java program?

advertisement
  1.     class comma_operator 
  2.     {
  3.         public static void main(String args[]) 
  4.         {    
  5.              int sum = 0;
  6.              for (int i = 0, j = 0; i < 5 & j < 5; ++i, j = i + 1)
  7.                  sum += i;
  8.  	     System.out.println(sum);
  9.         } 
  10.     }

a) 5
b) 6
c) 14
d) compilation error
View Answer

Answer: b
Explanation: Using comma operator, we can include more than one statement in the initialization and iteration portion of the for loop. Therefore both ++i and j = i + 1 is executed i gets the value – 0,1,2,3,4 & j gets the values -0,1,2,3,4,5.
output:

$ javac comma_operator.java
$ java comma_operator
6

8. What will be the output of the following Java program?

  1.     class jump_statments 
  2.     {
  3.         public static void main(String args[]) 
  4.         {        
  5.              int x = 2;
  6.              int y = 0;
  7.              for ( ; y < 10; ++y) 
  8.              {
  9.                  if (y % x == 0) 
  10.                      continue;  
  11.                  else if (y == 8)
  12.                       break;
  13.                  else
  14.                     System.out.print(y + " ");
  15.              }
  16.         } 
  17.     }

a) 1 3 5 7
b) 2 4 6 8
c) 1 3 5 7 9
d) 1 2 3 4 5 6 7 8 9
View Answer

Answer: c
Explanation: Whenever y is divisible by x remainder body of loop is skipped by continue statement, therefore if condition y == 8 is never true as when y is 8, remainder body of loop is skipped by continue statements of first if. Control comes to print statement only in cases when y is odd.
output:

$ javac jump_statments.java
$ java jump_statments
1 3 5 7 9

9. What will be the output of the following Java program?

  1. class Output 
  2. {
  3.         public static void main(String args[]) 
  4.         {    
  5.            final int a=10,b=20;
  6.           while(a<b)
  7.           {
  8.  
  9.           System.out.println("Hello");
  10.           }
  11.           System.out.println("World");
  12.  
  13.         } 
  14. }

a) Hello
b) run time error
c) Hello world
d) compile time error
View Answer

Answer: d
Explanation: Every final variable is compile time constant.

10. What will be the output of the following Java program?

  1.     class Output 
  2.     {
  3.         public static void main(String args[]) 
  4.         {    
  5.              int a = 5;
  6.              int b = 10;
  7.              first: 
  8.              {
  9.                 second: 
  10.                 {
  11.                    third: 
  12.                    { 
  13.                        if (a ==  b >> 1)
  14.                            break second;
  15.                    }
  16.                    System.out.println(a);
  17.                 }
  18.                 System.out.println(b);
  19.              }
  20.         } 
  21.     }

a) 5 10
b) 10 5
c) 5
d) 10
View Answer

Answer: d
Explanation: b >> 1 in if returns 5 which is equal to a i:e 5, therefore body of if is executed and block second is exited. Control goes to end of the block second executing the last print statement, printing 10.
output:

$ javac Output.java
$ java Output
10

Sanfoundry Global Education & Learning Series – Java Programming Language.

If you find a mistake in question / option / answer, kindly take a screenshot and email to [email protected]

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.