public static int getValue(int i) {
int result = 0;
switch (i) {
case 1:
result = result + i;
case 2:
result = result + i * 2;
case 3:
result = result + i * 3;
}
return result;
}
当给i=2时返回值为10。
咋一看以为是4。
在switch ( 变量 ) 这一行里,变量只能是整型或字符型。程序先读出这个变量的值,然后在各个"case"里查找哪个值和这个变量相等,如果相等,就算条件成立,程序执行相应的分支,直到碰上break或者switch语句结束。
也就是执行了case 2 和case 3下面的赋值语句,如果加了break结果就为4。
switch 语句的格式:
switch ( 整型或字符型变量 ) {
}