switch语句


格式:

注意:switch 后面的表达式的数据类型只能是byte short char int 类型

switch(表达式) {

    case 值1 :

        语句体1 ;

    break ;

    case 值2 :

        语句体2 ;

    break ;

    case 值3 :

        语句体3 ;

    break ;

        ...

    default :

        语句体n+1 ;

    break ;

}

表达式的取值: 可以取 byte , short , int , char ;

jdk1.5以后可以取枚举 ;

jdk1.7以后可以取字符串


执行流程:

计算表达式的值,然后找对应的case的值,如果找到了就执行对应的case的语句体 , 遇到break程序结束;

如果没有找到对应的case , 那么就执行default语句


注意事项:

a:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的

b:default可以省略吗?

* 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。

* 特殊情况:

* case就可以把值固定。

* A,B,C,D

c:break可以省略吗?

* 最后一个可以省略,其他最好不要省略

* 会出现一个现象:case穿透。

* 最终我们建议不要省略

d:default一定要在最后吗?

* 不是,可以在任意位置。但是建议在最后。

e:switch语句的结束条件

* 遇到break就结束了

* 执行到switch的右大括号就结束了


注意事项:

* byte可以作为switch的表达式吗? 可以

* long可以作为switch的表达式吗? 不可以

* String可以作为switch的表达式吗? 不可以,jdk1.7以后可以

原文地址:https://www.cnblogs.com/loaderman/p/6403448.html