概述
今天遇到的BUG
= =
switch忘记break了= =
package julyStudy;
/**
* @Author : pmdream
* @Description : SwitchUseCase
* @Date : 2019/7/17
*/
public class SwitchUseCase {
public static void main(String[] args) {
int a = 1;
int b = 1;
switch (a) {
case 1 :
b++;
System.out.println(b);
case 2 :
b++;
System.out.println(b);
case 3 :
b++;
System.out.println(b);
case 4 :
b++;
System.out.println(b);
default:
break;
}
}
}
结果就是:
2
3
4
5
如果第一步就是default呢?
package julyStudy;
/**
* @Author : pmdream
* @Description : SwitchUseCase
* @Date : 2019/7/17
*/
public class SwitchUseCase {
public static void main(String[] args) {
int a = 1;
int b = 1;
switch (a) {
default:
break;
case 1 :
b++;
System.out.println(b);
case 2 :
b++;
System.out.println(b);
case 3 :
b++;
System.out.println(b);
case 4 :
b++;
System.out.println(b);
}
}
}
结果依然是:
2
3
4
5
所以defaul其实并没有执行。
switch(表达式)
{
case 常量表达式1:语句1;
....
case 常量表达式2:语句2;
default:语句;
}
default就是如果没有符合的case就执行它,default并不是必须的.
package julyStudy;
/**
* @Author : pmdream
* @Description : SwitchUseCase
* @Date : 2019/7/17
*/
public class SwitchUseCase {
public static void main(String[] args) {
int a = 111;
int b = 1;
switch (a) {
default:
a++;
System.out.println(a);
break;
case 1 :
b++;
System.out.println(b);
break;
case 2 :
b++;
System.out.println(b);
break;
case 3 :
b++;
System.out.println(b);
break;
case 4 :
b++;
System.out.println(b);
break;
}
}
}
总结:
一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执行统一语句
package julyStudy;
/**
* @Author : pmdream
* @Description : SwitchUseCase
* @Date : 2019/7/17
*/
public class SwitchUseCase {
public static void main(String[] args) {
int a = 111;
int b = 1;
switch (a) {
default:
break;
case 1 :
b++;
System.out.println(b);
case 2 :
b++;
System.out.println(b);
case 3 :
b++;
System.out.println(b);
case 4 :
b++;
System.out.println(b);
}
}
}
所以上述执行结果就是空的。
所以一旦case条件对了,他就要找到break;而不会关心后面的case条件了~
如果所有条件都没有合适的,那么它一段代码都不会执行
最后
以上就是淡然母鸡为你收集整理的java switch要记得break(一个小坑~)的全部内容,希望文章能够帮你解决java switch要记得break(一个小坑~)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复