黑马程序员技术交流社区
标题:
Switch case问题?
[打印本页]
作者:
郭佳佳
时间:
2012-9-6 20:17
标题:
Switch case问题?
case 不一定后面一定跟break,也可以多个case跟一个 break?这里面有什么规则么
作者:
李 玉林
时间:
2012-9-6 20:23
如果多个case共用一个语句的话,可以在最后一个case后面加一个break就可以了,否则每一个case后面都要跟一个break
作者:
徐宏伟
时间:
2012-9-6 20:39
1、正常情况下:
switch(DataType var)
{
case var1:
//----
break;
case var2:
//----
break;
case var3:
//----
break;
……
default:
break;
}
复制代码
//==========其中上面每一个case分支对应一个处理;并且case分支的var不可以一样;
2、特殊情况
(1)、(由于switch--case能处理的是对于离散型变量---假如多个变量的处理方法一样的话,就可以这么写)
switch(DataType var)
{
case var1:
case var2:
case var3:
//----
break;
case var4:
//----
break;
case var5:
//----
break;
……
default:
break;
}
复制代码
//======这样在var为var1、var2、var3的时候处理方法都是一样的;
(2)、其实对于break不一定是必须的(例如下面)
switch(DataType var)
{
case var1:
{
//---处理方法---
return;
}
case var2:
//----
break;
……
default:
break;
}
复制代码
//=======假如满足分支var1的时候,程序就直接return了,这样也是允许的;
作者:
杨千里
时间:
2012-9-6 20:56
在switch中case是没有顺序的,要先从case开始执行,最后执行default
case A:
.......
break;
case B:
.......
break;
------------------------------------也可以这样
case B:
.......
break;
case A:
.......
break;
switch的结束有两种方式一个是执行到break,一个是执行到语句的结尾。
switch如果条件都不符合,则执行default,但是default在前,则会再次执行下边的语句,而不再判断case直到碰见break。
多个case可以对应一个条件执行语句。
例如:
case A :
case B :
case C:
........
.....................
break;
..........................................
作者:
刘欢(安阳)
时间:
2012-9-6 22:40
额,一般是这几个case的操作情况相同的时候这么做。
只要跟同一个break的几个case后面(除了离break最近的那个),都没有独立的执行语句就可以,不然会报错
作者:
郭佳佳
时间:
2012-9-6 23:14
回答的都不错啊,很给力,谢谢你们了
作者:
许庭洲
时间:
2012-9-7 08:19
1. switch(i)
case 1:
case 2:
//
break;
2. C#中的break不写是不行的,除了合并case情况。
作者:
王荟越
时间:
2012-9-14 09:45
对,一般是这几个case的情况相同的时候会这么写。
但case情况(表达式值)不同时,就要在每个后加 break
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2