黑马程序员技术交流社区
标题:
一个简单的题,稍微一改我怎么就有点不懂了呢?你看看...
[打印本页]
作者:
飞舞❤心动
时间:
2012-5-31 22:27
标题:
一个简单的题,稍微一改我怎么就有点不懂了呢?你看看...
int i=1;
switch(i){
case 0: System.out.println(“zero”);
break;
case 1: System.out.println(“one”);
break;
case 2: System.out.println(“two”);
break;
default: System.out.println(“default”);
}
打印: one(简单的代码)
int i = 1;
switch (i) {
case 0: System.out.println(“zero”);
break;
case 1: System.out.println(“one”);
case 2: System.out.println(“two”);
default:System.out.println(“default”);
}
打印: one two default (这个怎么有点不懂啊?)大哥解释一下!
作者:
杨康
时间:
2012-5-31 22:41
因为i=1 运行case 1: System.out.println(“one”);
该代码后没有结束代码,就继续向下执行,所以two default都会相继被运行。
作者:
龙秋地
时间:
2012-5-31 22:43
case 1: System.out.println(“one”);
case 2: System.out.println(“two”);
default:System.out.println(“default”);
复制代码
break语句通常用在循环语句和开关语句中。
当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句.
当i=1时,switch语句执行case1中的操作,但是因为没有break,所以语句接下来继续执行,知道执行到末尾.
作者:
田建
时间:
2012-5-31 22:43
这个就是switch语句的特点,第一句之所以只打印one是因为在运行完case1之后有break,程序会终止;但你的第二个程序没有break,在执行完case1之后会依次向下执行,直到遇到break或者大括号终止!
作者:
徐炯
时间:
2012-5-31 22:48
楼上正解!
作者:
胡团乐
时间:
2012-5-31 22:56
switch (i) {
case 0: System.out.println(“zero”);
break;
case 1: System.out.println(“one”); //没加break 执行完后接着执行 直到碰到break;或者程序块结束
case 2: System.out.println(“two”);//没加break 执行完后接着执行 直到碰到break;或者程序块结束
default:System.out.println(“default”);//没加break 执行完后接着执行 直到碰到break;或者程序块结束
}
直到这 程序块结束 打印 one two default
如果 i=2; 则打印two default 楼主多测试几次就明了了
作者:
江南
时间:
2012-5-31 23:07
没有break;
就会继续执行直到遇到break才停止 如果一直都没有遇到break就会整个switch一直执行到结束
作者:
张亭
时间:
2012-5-31 23:10
楼主要好好打打基础哦,
各种语句的用法都是最基础的东西了
作者:
朝哥
时间:
2012-5-31 23:26
lz,记住,switch语句中,首先找你选择的1,然后一直往下执行,如果下面的case中有break,那就就跳出,没break,就一直执行到底。
如果你选择的1在下面的case中没有。那么swich语句会找default,然后往下执行,碰到到break跳出,一路到底没有break,那么就执行default下面的所有语句。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2