switch语句:其格式如下
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
格式解释说明:
switch:说明这是switch语句。
表达式:可以是byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是字符串
case:后面的值就是要和表达式进行比较的值
break:表示程序到这里中断,跳出switch语句
default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else
执行流程:
1)、首先计算表达式的值;
2)、
和每一个case进行匹配,如果有就执行对应的语句体,看到break就结束;
3)、
如果没有匹配,就执行default的语句体n+1。
注意事项:
1、case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
2、default是可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
特殊情况:
case就可以把值固定。A,B,C,D
3、break也是可以省略,但是结果可能不是我们想要的。
会出现一个现象:case穿透。最终我们建议不要省略
4、default不是一定在最后,可以在任意位置。但是一般格式都是写在最后。
5、switch语句的结束条件
1)、遇到break就结束了
2)、执行到末尾就结束了
使用功能示例代码:
1 //判断用户输入的是大于还是小月亦或是二月
2 System.out.println("请输入一个1~12之间的数字:");
3 Scanner sc = new Scanner(System.in);
4 int number= sc.nextInt();
5 if (number < 1 || number > 12) {
6 System.out.println("输入的数字不在范围之内!");
7 }else{
8 switch (number) {
9 case 2:
10 System.out.println(number+"是二月");
11 break;
12 case 4:
13 case 6:
14 case 9:
15 case 11:
16 System.out.println(number+"月是小月");
17 break;
18 default:
19 System.out.println(number+"月是大月");
20 break;
21 }
22 }
比如:常见的用户登录、注册、找回密码等功能,根据用户点击的不同去做不同的操作。一般都是用在可以固定值进行某种相应的操作的地方。
原文:http://www.cnblogs.com/james-zhan/p/6538397.html