Java Puzzles Green = Easy, Blue = Normal, Red = Hard P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24 P25 P26 By title |

### Java puzzle 10: A switch statement

Level: Normal

What is the output of this program and why?

public class MySwitch { public static void main(String[] args) { int x = 2; switch(x) { case 1: x += 2; break; case 2: x++; case 3: x += 4; default: x += 2; } System.out.print(x); } }

###### Author: Sar Maroof

### Answer explanation

Answer explanation

- The initial value of x is 2. So, case 1 doesn’t match the value of x.
- The statement x++; under case 2 is executed and the value of x is incremented by 1, x = 2 + 1 = 3.
- There is no break in case 2. Therefore, the statement under case 3 x += 4; is executed and the value of x becomes x = 3 + 4 = 7.
- There is no break statement in case 3. Therefore, the statement x += 2 under default is executed. The value of x is incremented by 2. x = 7 + 2 = 9.

The correct answer is 9.

If you found this difficult, you might consider reading my book Java quizmaster for beginners. It is easy to understand, organized to learn Java in 17 days and it guides you to master Java code by solving 105 quizzes and 117 assignments. This book explains each chapter properly before starting with exercises and assignments. It is available on Amazon. See inside the book here!

Please, leave your questions, feedback and suggestions in the comments below!

SarMaroof.com offers a practical method to learn and improve your Java skills. It avoids unnecessary long boring theoretical explanations, but it uses many exercises and quizzes.

## Suggested Articles

## Books by Sar Maroof |

Subscribe to Sar Maroof's RSS feeds! Mail this page to a friend! Bookmark this page! |