Java Multiple Choice Questions & Answers on Control Statements for Freshers

https://www.computersprofessor.com/2017/11/java-multiple-choice-questions-answers_23.html
1. Which of these selection statements test only for equality?
a) if
b) switch
c) if & switch
d) None of the mentioned
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
Answer:a
Explanation: continue and break are jump statements, and for is an 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
Answer: a
4. Which of these jump statements can skip processing remainder of code in its body for a particular iteration?
a) break
b) return
c) exit
d) continue
Answer: d
5. Which of these 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.
Answer: b
Explanation: No two case constants in the same switch can have identical values.
6. What is the output of this program?
class selection_statements {
public static void main(String args[])
{
int var1 = 5;
int var2 = 6;
if ((var2 = 1) == var1)
System.out.print(var2);
else
System.out.print(++var2);
}
}
a) 1
b) 2
c) 3
d) 4
b) 2
c) 3
d) 4
Answer:b
Explanation: var2 is initialised to 1. The conditional statement returns false and the else part gets executed.
7. What is the output of this program?
class comma_operator {
public static void main(String args[])
{
int sum = 0;
for (int i = 0, j = 0; i < 5 & j < 5; ++i, j = i + 1)
sum += i;
System.out.println(sum);
}
}
a) 5
b) 6
c) 14
d) compilation error
b) 6
c) 14
d) compilation error
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.
8. What is the output of this program?
class jump_statments {
public static void main(String args[])
{
int x = 2;
int y = 0;
for ( ; y < 10; ++y) {
if (y % x == 0)
continue;
else if (y == 8)
break;
else
System.out.print(y + " ");
}
}
}
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
b) 2 4 6 8
c) 1 3 5 7 9
d) 1 2 3 4 5 6 7 8 9
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.
9. What is the output of this program?
class Output {
public static void main(String args[])
{
final int a=10,b=20;
while(a<b)
{
System.out.println("Hello");
}
System.out.println("World");
}
}
a) Hello
b) run time error
c) Hello world
d) compile time error
b) run time error
c) Hello world
d) compile time error
Answer: d
Explanation: Every final variable is compile time constant.
10. What is the output of this program?
class Output {
public static void main(String args[])
{
int a = 5;
int b = 10;
first: {
second: {
third: {
if (a == b >> 1)
break second;
}
System.out.println(a);
}
System.out.println(b);
}
}
}
a) 5 10
b) 10 5
c) 5
d) 10
b) 10 5
c) 5
d) 10
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.