手记

java03-1 switch语句

switch语句的格式:

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

    switch(表达式) {

    case 值1:

        语句体1;

        break;

    case 值2:

        语句体2;

        break;

    ...

    default:

        语句体n+1;

        break;

}

格式的解释:

                  switch:    表示这是switch选择结构

                  表达式:   这个地方的取值是有限定的 :  byte,short,int,char

                            JDK5以后可以是  枚举  引入解释链接:http://jingyan.baidu.com/article/e4d08ffdcf664d0fd2f60dbf.html

                            JDK7以后可以是  字符串 ( String )

                  case:后面跟的是要和表达式进行比较的值

                  语句体:要执行的代码

                  break:表示中断,结束的意思,可以控制switch语句的结束。

                  default:当所有的值都和表达式不匹配的时候,就执行default控制的语句。其实它就相当于if语句的else。

        

         面试题:

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

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

                  String可以作为switch的表达式吗?     JDK7以后可以

        

switch语句的注意事项:

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

         B:  default 可以省略吗?

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

                  特殊情况:

                            case就可以把值固定。

                            A,B,C,D(平时的选择题)

         C:  break可以省略吗?

                  可以省略,但是结果可能不是我们想要的。

                  会出现一个现象:case穿透。(执行完毕符合的case语句后,会不进行判断,继续执行下一个case语句的结果)

                  最终我们建议不要省略

         D: default一定要在最后吗?

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

         E: switch语句的结束条件

                  a: 遇到break就结束了

                  b: 执行到末尾就结束了

结论:最好是按照格式来写。

[代码]java代码:

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

class SwitchTest {

    public static void main(String[]   args) {

        int x = 2;

        int y = 3;

        switch(x){

            default:

                y++;

                break;

            case 3:

                y++;

            case 4:

                y++;

        }

        System.out.println("y="+y);    //先对 x =   2进行判断,都不符合case的情况,则y++,y=4 输出

        System.out.println("---------------");

         

        int a = 2;

        int b = 3;

        switch(a){

            default:

                b++;

            case 3:

                b++;

            case 4:

                b++;

        }

        System.out.println("b="+b);   // b = 3,符合case 3,则b++,b = 4,又符合case 4,则b++,b = 5,case3,4都不符合,则进行

    }                                     //default语句,b++,b = 6 输出。

}

原文链接:http://www.apkbus.com/blog-833059-61630.html

0人推荐
随时随地看视频
慕课网APP