Mar*_*ler 6 java int switch-statement
我只是在我的java代码中运行一些奇怪的东西:
switch (result) {
case 0:
result_amount = 500;
case 1:
result_amount = 600;
case -1:
result_amount = 700;
}
Run Code Online (Sandbox Code Playgroud)
result来自原始类型int.对于价值1 case 1和case -1执行.
这是正常的开关案例行为吗?如果是的话:为什么?
您需要break在case块后使用关键字:
switch (result) {
case 0:
result_amount = all_amounts[i];
break;
case 1:
result_amount = all_amounts[i];
break;
case -1:
result_amount = all_amounts[i+1];
}
Run Code Online (Sandbox Code Playgroud)
该switch语句将跳转到正确的case标记,然后执行后面的所有代码,忽略潜在的其他case标记.您可以将该switch语句视为一个语句goto.