阅前声明: 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:
defaultcase 1case 2case 3case 4case 5default
**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:
defaultcase 1case 2case 3case 4case 5defaultcase 2case 3case 4case 5defaultcase 3case 4case 5defaultcase 4case 5defaultcase 5defaultdefault
**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.