首页 > 其他 > 详细

switch

时间:2020-02-25 00:06:55      阅读:75      评论:0      收藏:0      [点我收藏+]

1.switch 语句

语法:

switch(expression)
{
case value1 : statement1;
break;
case value2 : statement2;
break;
case value3 : statement3;
break;
default: statement4;
}

注意:

  • expression必须是byte、short、int、char类型的,value必须与expression类型兼容的一个常量,而且不能重复。
  • 一定不要望了每个判断后添加break,否则计算机回默认执行为真后面所有的statement;
  • default语句可以出现在任意位置;statement、break、default都可以不写。

2.switch无break

int a=2;
switch(a)
{
case 1 :System.out.println(1);
case 2 : System.out.println(2);
case 3 :System.out.println(3);
break;
default:System.out.println(4);
}

运行结果:

2
3

代码解析:case 2 语句后没有break,程序继续向下执行,遇到case 3 语句后的break结束switch语句,故default语句不会执行。

4.case后无statement语句

public class sd {
    public static void main(String[] args) {
        int month=2;
        switch(month)
        {
        case 12 :
        case 1 : 
        case 2 :
            System.out.println("冬季");
            break;
        case 3 :
        case 4 : 
        case 5 :
            System.out.println("春季");
            break;
        case 6 :
        case 7 : 
        case 8 :
            System.out.println("夏季");
            break;
        case 9 :
        case 10 : 
        case 11 :
            System.out.println("秋季");
            break;
        default:System.out.println("输入错误");     
        }
    }
}

5.default 不在末尾

public class A {
    public static void main(String[] args) {
        int a=2;
        switch(a)
        {
        default: System.out.println("no");
        case 0: System.out.println(0);
        case 1: System.out.println(1);
        }
    }

}

运行结果:

no
0
1
public class A {
    public static void main(String[] args) {
        int a=0;
        switch(a)
        {
        default: System.out.println("no");
        case 0: System.out.println(0);
        case 1: System.out.println(1);
        }
    }

}

运行结果:

0
1

switch 语句的执行逻辑:先找experssion对应的value值,如果存在执行对应语句向下执行直到遇到break;如果不存在则执行default语句再向下执行,遇到break停止。

switch

原文:https://www.cnblogs.com/weiyi2020/p/12359288.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!