阅前声明: http://blog.csdn.net/heimaoxiaozi/archive/2007/01/19/1487884.aspx
/****************** Exercise 10 ****************** Create a switch statement that prints a* message for each case, and put the switch* inside a for loop that tries each case. Put a* break after each case and test it, then remove* the breaks and see what happens.***********************************************/import java.util.*;public class E10_SwitchDemo { public static void main(String[] args) { for(int i = 0; i < 7; i++) switch(i) { case 1: System.out.println("case 1"); break; case 2: System.out.println("case 2"); break; case 3: System.out.println("case 3"); break; case 4: System.out.println("case 4"); break; case 5: System.out.println("case 5"); break; default: System.out.println("default"); } }}
//+M java E10_SwitchDemo
**The value of i is intentionally ranged out of bounds of the cases, to see what happens. Here’s the output:
default case 1 case 2 case 3 case 4 case 5 default**You can see that anything that doesn’t match one of the cases goes to the default statement.
**Here’s the same program with the breaks removed:
import java.util.*;// E10_SwitchDemo.java with the breaks removed:public class E10_SwitchDemo2 { public static void main(String[] args) { for(int i = 0; i < 7; i++) switch(i) { case 1: System.out.println("case 1"); case 2: System.out.println("case 2"); case 3: System.out.println("case 3"); case 4: System.out.println("case 4"); case 5: System.out.println("case 5"); default: System.out.println("default"); } }}
//+M java E10_SwitchDemo2
**Now the output is:
default case 1 case 2 case 3 case 4 case 5 default case 2 case 3 case 4 case 5 default case 3 case 4 case 5 default case 4 case 5 default case 5 default default**Without the break, each case falls through to the next one. So when you end up in case 1, you get all the other cases as well. Thus, you’ll almost always want a break at the end of each case.