黑马程序员技术交流社区

标题: case的用法?每个"case"标号必须以"break"语句作为结束? [打印本页]

作者: 郭佳佳    时间: 2012-8-9 11:47
标题: case的用法?每个"case"标号必须以"break"语句作为结束?
每个"case"标号必须以"break"语句作为结束?我感觉是的
作者: 肖攀    时间: 2012-8-9 11:49
是的,必须用break作结束
作者: 化宝峰    时间: 2012-8-9 13:24
在C#中,每一个case语句都是必须要有一个break来结束,但是几个case语句可以共用同一个break,如下:
        int i=0;
            i = Console.Read();
            switch (i)
            {
                case 'a':
                case 'b':
                    Console.WriteLine("小于b");
                    break;
                case 'c':
                case 'd':
                case 'e':
                case 'f':
                    Console.WriteLine("大于b,小于等于f");
                    break;
                default:
                    Console.WriteLine("大于f,或者小于a");
                    break;
            }
在C/C++中,case语句后面可以有自己独特的处理语句,但是break不是必须的,它会根据适配的值,选择适当的case语句开始执行,直到遇到break语句,如果没有break语句,他会继续执行下一个case语句中的处理内容,直到switch语句块结束。
作者: 许波    时间: 2012-8-9 16:55
for (int i = 0; i < 3; i++)
            {
               
                switch (i)
                {
                    case 0:
                        Console.WriteLine("0" );
                        continue;
                        //break;
                    case 1:
                        Console.WriteLine("1");
                        //continue;
                        break;
                    case 2:
                        Console.WriteLine("2");
                        //continue;
                        break;
                }
            }
这样可以用continue代替break
作者: 丁慧    时间: 2012-8-9 18:37
break不是必须的,如果你想让它继续顺序执行下面的语句就不用写break,不想执行了要跳出swith就写上break。
作者: 张洋    时间: 2012-8-9 18:49
定值判断switch-case
语法:
switch(表达式)                        
{
case 值1:语句块1;break;            
case 值2:语句块2;break;           
case 值3:语句块3;break;
……
default:语句块n;break;
}
表达式的值去匹配case后的值,若是值1,执行语句块1,若是值2,执行语句块2,若都不匹配执行语句块n

"每个"case"标号必须以"break"语句作为结束?我感觉是的"这个视情况而定,如3楼兄弟答案

if-else if 与 switch比较
相同点:都可以实现多分支结构
不同点:switch 一般用于等值比较
              if-else if 可以处理范围

作者: 彭书雄    时间: 2012-8-9 23:22
不用break结束的话 ,他会一直匹配到dafalut才结束,后面讲运行不改运行的代码,有可能给程序带来致命的影响




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2