当我尝试处理特殊情况时,使用switch语句时遇到问题。例如,我有3个案例:A,B,C。
对于A,我想做statement_1和statement_3。 对于B,我想做statement_2和statement_3。 对于C,我什么都不想做 如果我使用if-else语句,它将如下所示:
if ( not Car){
do statement_3
if Bag
do statement 2
else if Apple
do statement 1
}
当我尝试从switch语句中做到这一点时遇到麻烦
switch (variable){
case A: do statement_1
case B: do statement_2
// how to do statement 3 here?
}
答案 0 :(得分:1)
默认部分处理未由其中一个case语句显式处理的所有值。
switch(var){
case A:
//do stuff
break;
case B:
//do stuff
break;
default:
//do stuff
break;
}
编辑:我刚刚再次阅读了这个问题,我想我理解你了,如果你想“为A和statement_2做一个statement_1和statement_3,为B做一个statement_3”,你只需要写一下:
switch(var){
case A:
statement_1
statement_3
break;
case B:
statement_2
statement_3
break;
}
答案 1 :(得分:0)
我猜你忘了添加一个break语句。例如,如果expression == A
并且您没有中断,则将执行所有语句,而如果添加break
,则不会执行其余的情况。此外,默认值是在表达式不满足任何情况时执行的默认值。
switch(expression){
case A:
statement_1
statement_3
break;
case B:
statement_1
statement_2
break;
default:
break;
}
答案 2 :(得分:0)
对于每种情况,您必须编写所有必需的“语句”,然后添加break;
,否则下一个案例也将被执行:
switch (variable) {
case A:
statement_1;
statement_3;
break;
case B:
statement_2;
statement_3;
break;
case C:
default:
break;
}
此处默认情况和C
案例相同且无效。