switch语句中case0(switch语句中,当多个分支是同一结果时,可以写成(case 0:case 1:case5)

本文目录
- switch语句中,当多个分支是同一结果时,可以写成(case 0:case 1:case5
- 可是switch(a>0)不等于0啊,case 0后面的应该不执行才对
- switch分支case 0:什么也没有是如何运行的
- C语言题目求解 这题switch中的表达式的值为0为什么还会执行呢
- 有关switch语句中的几个问题
- 半瓶醋勿进,高手来,关于switch语句中case的问题
- C语言switch语句问题(初学)
- int c=0; switch(c++) … 下一步应该是case 0,还是case 1为什么
- 编译老是出现switch语句“错误:非法的类型开始“,及case 0“错误:孤立的case“,求大神帮解答
switch语句中,当多个分支是同一结果时,可以写成(case 0:case 1:case5
case只是个程序入口地址,写5个等同于有5个标号写到同一处,所以执行1次
参考下面程序对比:
switch ( n )
{ case 0: case 1: case 2: case 3: case 4: case 5: i=i+1;
case 6: break;
default: i=0; break;
} //当n=0~5时都会去执行i=i+1;一次,然后顺序执行下面紧跟着的break;语句跳出switch
以上程序功能等同于下面程序,但上面程序易读,case 0:相当于下面的标号BBB0:
if ( n==0 ) goto BBB0;
else ( n==1 ) goto BBB1;
else ( n==2 ) goto BBB2;
else ( n==3 ) goto BBB3;
else ( n==4 ) goto BBB4;
else ( n==5 ) goto BBB5;
else ( n==6 ) goto BBB6;
else goto BBBX;
BBB0:
BBB1:
BBB2:
BBB3:
BBB4:
BBB5: i=i+1;
BBB6: goto BBB;
BBBX: i=0; goto BBB;
BBB: //switch语句后面的语句
可是switch(a>0)不等于0啊,case 0后面的应该不执行才对
..........谁教你这么写的???如果是你老师教的,,那我觉得你还得转学为好。。下面我给你写一个正确的。
public static void main(String args) {
int a = 2 , b = 7 , c = 5;
switch(a){
case 1 : switch(b){
case 2 : System.out.println("@"); break;
default: System.out.println("!!");
}break;
case 2 : switch(b){
case 7 : System.out.println("#"); break;
default: System.out.println("!!");
}break;
case 3 : switch(b){
case 7 : System.out.println("**"); break;
default: System.out.println("!!");
}break;
default: System.out.println("!!");
}
switch分支case 0:什么也没有是如何运行的
如果c-’2’为0,那么到case 0,什么也不做,继续转向case 1, 然后继续去case 2,然后跳出switch
C语言题目求解 这题switch中的表达式的值为0为什么还会执行呢
switch只要相等就执行,不是逻辑判断
switch里有case 0:分支,当然会执行
有关switch语句中的几个问题
case本身不要求一定按照顺序排列,default后面还有case也是可以的,只要序号能对上,程序就会执行
case 0:
default;
case 2:a=5;
case 1:这样也是可以的,但是为了阅读方便,所以一般都是按照序号排列,default放到最后一句
先明确一点,switch是循环的一种,所以break是中断循环的操作,而你的这个例子中因为没有break语句,所以程序不会跳出switch,而是会默认执行下一条语句,这也是为什么default语句一般都放在最后的原因
switch=0
程序执行case 0:,因为没有break,所以自动执行下一条程序执行case 1:,同样因为没有break,所以自动执行下一条程序执行case 2:a=5;这里也没有break,但这是switch的最后一句,所以程序会从第一句一直执行到这里才跳出switch循环
半瓶醋勿进,高手来,关于switch语句中case的问题
我虽然也是个半吊子,不精通java,但有点不服,为什么不能进来呢。
所以附上自己的理解..
这两段代码在运行中是肯定没区别的,唯一的区别可能只是编译过程多了点小处理。
所以我看作是代码在编码中java符号的问题。
分号你可能理解,它表示一行语句的结束。我打个比方
int i ;
for(i = 0; i 《 10; i++)
print(i);
int i ;
for(i = 0; i 《 10; i++);
print(i);
你能注意到它们也只是分号不同,但结果却大不相同。
因为第二个代码里分号将print(i);隔离在了循环之外。
它不是提前结束循环,因为结束循环的关键字是break;
上面的代码等同于
int i ;
for(i = 0; i 《 10; i++) {
;;;;;;;;;
}
print(i);
就像这样,你在语句块里写再多分号,也只是结束了它前面的语句(包括空)。
回到你的问题上,switch是一个语句块,就跟for循环一样,但它必须要有花括号。
switch里面的每一行语句是 case 0 : a += 2; 等同于if(i == 0) { a += 2;}
switch的用if表现的形式差不多如下,当然只可能更复杂:
boolean isBreak;
if (i == 0) {
if(!isBreak) {
a += 2;
...;
if(!isBreak) {
...;
if(!isBreak) {
a += 3;
...;
if(!isBreak) {
a+=7;
}
}
}
}
}
switch里面 case 0 : 你可以当作它是if(i == 0) {}
你知道只要没有break; switch就会一直往下执行,所以case 0 :后面的分号只是结束了这个case里的某些语句(包括空),并没有对switch这个语句块产生任何影响。
而case 0 : 之所以是以case加条件加冒号,我想这也只是为了区分,不然写个case 0 ;谁也没法理解它这后面的分号起了个什么作用,而且还容易和后面的代码混淆。。。
C语言switch语句问题(初学)
1.case2:case3:语句1;break;
这样的语句,当表达式满足2或3的时候,都要执行语句1
因为case2中为空语句,它没有break语句,继续执行case3的语句,直到遇见break语句为止,case3中有break语句所以终止了,如果没有继续往下执行,
2.题目中I《=100000时,如I=50000时,t=0,执行case0语句,注意:当I=100000(仅此一个取值)时t=1,但是你不能因此就把处理语句写在case1中,应为case1中还包括100000《I《200000的情况,可以把I=100000时的情况与100000《I《200000的情况一起处理,放在case1中如答案:bonus=bon1+(i-100000)*0.075;break;i=100000时(i-100000)*0.075=0,只有bon1=100000*0.1的利润,不影响处理结果,而你的处理方法就忽略了100000《I《200000也是t=1的情况,从而每次都把case语句错位了
100000《I《=200000时,如I=150000你的t=I/100000;t是整形的,所以t=1或2(t=2的情况留到后面与200000《I《300000,t=2的情况一起处理),因此应该把你的处理写在case1中。
200000《I《=400000,t=2或3或4(4的情况后面处理)所以程序中case2与case3要执行相同语句。
400000《I《=600000时t=4或5或6(6的情况后面处理),case4和case5执行相同语句,语句要写在case5中。
600000《I《=1000000时t=6,7,8,9,10(10的情况后面处理)case6,7,8,9执行相同语句,语句要写在case9中。
最后,你只需将上面t=10的情况与I》1000000d的情况一起处理,应该把你的处理写在case10中。
int c=0; switch(c++) … 下一步应该是case 0,还是case 1为什么
case 0
原因是switch语句体完成后加1。其实下一步是哪个都可以,因为case语句与你所switch得变量并没有必然联系,
case 0,是当c等于0是所要执行的内容,即使c不会等于0也可以写出这个语句。
你的switch(c++),执行完这句后c的值是0,所以case0会被执行。
编译老是出现switch语句“错误:非法的类型开始“,及case 0“错误:孤立的case“,求大神帮解答
switch(temp0){
case 0:
day = "周日";
break;
case 1:
day = "周一";
break;
case 2:
day = "周二";
break;
case 3:
day = "周三";
break;
case 4:
day = "周四";
break;
case 5:
day = "周五";
break;
case 6:
day = "周六";
break;
}
上面这个代码本身没有问题,但,不能孤立的放在类声明里面。
将这段代码完整挪到类构造函数里面即可。

更多文章:
在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)
2026年10月11日 05:20
countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)
2026年10月11日 03:30
正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)
2026年10月11日 03:00
orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)
2026年10月10日 23:00
display的用法(display是什么意思 详解display的含义和用法)
2026年10月10日 22:00
html全部居中代码(怎么让网页居中显示,html如何让网页居中)
2026年10月10日 21:10





