写switch case语句不加break会怎样。
2016-11-15 10:41
1826 查看
switch case语句犯得错误:
会犯这种错误,都是基础不牢固导致的。但是这样的错误却花费了我数小时去debug.想来真是很让人郁闷。
看一段代码:(不想看代码直接看后面总结)
private void
arrange() {
switch
(direction) {
case
'U':
case'R':
case'D':
case'L':
}
在这个语句中,如果direction=U。那么四个case语句都将执行。如果direction=R。将执行剩下三个语句。原因是switch语句原理是跳转到caseX位置执行剩下的语句,直到最后或者遇见break为止。因此在每一条语句最后+break即可。
private void
arrange() {
switch
(direction) {
case
'U': break;
case'R': break;
case'D': break;
case'L': break;
}
这样就能,每一个direction执行一步操作。
当然还有 别的用法,比如一个direction,让他可以执行两条或者3条操作这种。
总结:
switch语句原理是跳转到caseX位置执行剩下所有的语句(包括其他case里面的),直到最后或者遇见break为止。因此在每一条语句最后+break即可。
因此不加break的话将会执行跳转到的case本身以及以下所有的语句。
会犯这种错误,都是基础不牢固导致的。但是这样的错误却花费了我数小时去debug.想来真是很让人郁闷。
看一段代码:(不想看代码直接看后面总结)
private void
arrange() {
switch
(direction) {
case
'U':
case'R':
case'D':
case'L':
}
在这个语句中,如果direction=U。那么四个case语句都将执行。如果direction=R。将执行剩下三个语句。原因是switch语句原理是跳转到caseX位置执行剩下的语句,直到最后或者遇见break为止。因此在每一条语句最后+break即可。
private void
arrange() {
switch
(direction) {
case
'U': break;
case'R': break;
case'D': break;
case'L': break;
}
这样就能,每一个direction执行一步操作。
当然还有 别的用法,比如一个direction,让他可以执行两条或者3条操作这种。
总结:
switch语句原理是跳转到caseX位置执行剩下所有的语句(包括其他case里面的),直到最后或者遇见break为止。因此在每一条语句最后+break即可。
因此不加break的话将会执行跳转到的case本身以及以下所有的语句。
相关文章推荐
- 7.1.3 switch语句中的case结尾是否必须加break(废话)
- switch-case语句忘记加break的后果
- switch-case-break语句
- java Switch-Case忘写break条件时会执行后面不符合case的语句
- switch-case语句里面有return了 ,break还起作用吗?该如何解决
- 分支语句(if,switch case)、循环(for,while,do while)、continue、break、随机数
- 详解Swift的switch...case语句中break关键字的用法
- C语言之switch case语句 case 中没有break时会继续执行下一个case无论条件是否满足都会执行
- java中switch case语句需要加入break的原因解析
- switch case语句:从匹配处顺序执行,直到遇到break或结束
- ? 枚举 编程题#2:拨钟问题(Coursera 程序设计与算法 专项课程4;函数memcpy的用法,switch case break 语句!)
- C++程序员学Java系列之十一:流程控制语句switch,case,break,default
- switch语句,在case中没有break时出现穿透
- switch-case语句在未加break时的执行顺序
- switch case break default 判断语句
- 语句(switch语句及其内case , break)
- 为什么switch case语句需要加入break
- switch… case 语句的用法
- 分支语句(switch case)。。
- 含break的switch语句