黑马程序员—switch中default的用法

本文探讨了 Java 中 switch 语句的执行流程,特别是 default 子句的位置对其行为的影响。通过实例展示了当 default 子句位于开头或中间时,switch 语句是如何工作的,并强调了每个 case 和 default 后添加 break 的重要性。

switch中的default

 ----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

switch中的default,一般用在最后,表示非以上的任何情况下而发生的情况,我们一般习惯在他的后面加上个break。但是,如果default不是在最后,而是在前面或中间会发生什么情况呢:
先看看default在句首的情况:
int i = 2;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
break;
}
他的输出结果是:2! 很明显,不是先执行的default语句!
再看看下面语句:
int i = 8;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
break;
}
他的输出结果是:
default
0
1
2
出人意料!!从default开始向后执行!
再看看default在句中的情况:
int i = 2;
switch (i) {
case 0:
System.out.println("0");
case 1:
System.out.println("1");
break;
default:
System.out.println("default");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
break;
}
结果是2!显然还是没执行default!
int i = 8;
switch (i) {
case 0:
System.out.println("0");
case 1:
System.out.println("1");
break;
default:
System.out.println("default");
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
case 4:
System.out.println("4");
break;
}
结果:
default
2
显然是从default开始向后执行的!
从上面可以看出:

switch的执行是按照从小到大的顺序执行的,最后执行default语句,如果default后面带有break,那么程序就会正常跳出switch,否则,程序会继续向后执行switch语句!也就是说,不管default放在什么位置,它总是在最后一个处理,然后继续向下处理!所以,最后的处理办法,避免出现以外结果的最好办法就是每一个case以及default语句都要加一个break。

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------ 

详细请查看www.itheima.com




评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值