Java学习笔记程序员编程学习

5、深入理解switch语句,该语句的“变种”玩法

2016-11-15  本文已影响177人  前端好有趣

相信很多新手对switch语句的标准用法,都已熟悉并能正确地使用。

标准版本:
switch(表达式) {       
        case 值1:
            语句体1;
            break;
        case 值2:
            语句体2;
            break;
        ...
        default:
            语句体n+1;
            break;
    }

​ JDK5以后可以是枚举

​ JDK7以后可以是字符串

“作死”用法

要彻底弄懂switch语句,就要明白default在不同位置,语句中是否包含break的各种语句组合可能性。归纳一下,其实很简单,大约就下面三种具有代表性的可能。我们稍微“作一下”,看大家是否还能快速地解出正确的答案呢?

class SwitchTest {
    public static void main(String[] args) {
    int x = 2;
    int y = 3;
    switch(x){
        default:
            y++;
        case 3:
            y++;
        case 4:
            y++;
    }
    System.out.println("y="y);  //答案为6,虽然在case里面都不匹配,但由上而下穿透,依次加1
    System.out.println("---------------");
    
    int a = 2;
    int b = 3;
    switch(a){
        case 3:
            b++;
        case 4:
            b++;
        default:
            b++;
        case 5:
            b++
    }
    System.out.println("b="b);  //答案为5,虽然在case里面都不匹配,从default开始穿透,依次加1
    System.out.println("---------------");
    
    int c = 4;
    int d = 3;
    switch(c){
        case 3:
            d++;
        case 4:
            d++;
        default:
            d++;
        case 5:
            d++;
            break;
        case 6:
            d++;
    }
    System.out.println("d="d);  //答案为6,从case 4开始到case 5遇到break结束,依次加1
    System.out.println("---------------");
}

由上面的结果可以看出,不同的格式,他们所得出的结果也就不同。但以上的“作死”用法只是为了让大家更加深入地了解switch的机制,一般不会用到的。

注意事项:

♨To Be Continue...♨

上一篇 下一篇

猜你喜欢

热点阅读