Java Programming - Flow Control - Discussion
Discussion Forum : Flow Control - Finding the output (Q.No. 3)
3.
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 ");
}
}
}
}
Answer: Option
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.
Discussion:
26 comments Page 3 of 3.
Anshu said:
1 decade ago
Why we check the conditions from last but not from first?
Ram said:
1 decade ago
Is it necessary to declare x as final?
Anjena said:
1 decade ago
Can you explain about final keyword?
Priya said:
1 decade ago
Great! I understand Raju. Thanks!
Vasavi said:
6 years ago
Can anyone explain it clearly?
Rahul said:
9 years ago
Nice programming question.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers