switch statemt functioning improperly and giving error when i put break;
Posted
by
nav
on Stack Overflow
See other posts from Stack Overflow
or by nav
Published on 2011-06-26T01:31:50Z
Indexed on
2011/06/26
8:22 UTC
Read the original article
Hit count: 178
java
The following is the code i used in a program - over here the month variable is an integer
switch(month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
break;
case 2:
return 28;
break;
case 4:
case 6:
case 9:
case 11:
return 30;
break;
default:
System.out.println("Invalid month.");
return 0;
}
surprisingly, when i use the above switch construct.. it gives an error saying.. code unreachable for statements after each break statement
Then i removed all the break statements, and the new code looks like this ---
switch(month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 2:
return 28;
case 4:
case 6:
case 9:
case 11:
return 30;
default:
System.out.println("Invalid month.");
return 0;
}
Now.. after removing the break statements .. the code worked perfectly well..
My question is... in the switch construct.. it is mandatory to use break.. or else the control flow continued.. and all the conditions are tested and executed!! right???
So why in the world is the previous ** syntactically Right** version giving an error.. and the modified syntactically incorrect version running perfectly well..
Any explanation.. anyone!!
© Stack Overflow or respective owner