所以基本上给出了以下代码。
当action = 2;
且mode = 1
时,i
会被设置为2吗?
我正在编写同事的代码,它是这样写的,但我认为break只会跳过if并继续情况2
的其余部分。所以基本上 if 语句是没有意义的。
switch(action){
case 1: i = 1; break;
case 2: if(mode == 1)
{
break;
}
i = 2;
break;
case 3: i = 3; break;
我将其重写为:
case 2: if(mode != 1)
i = 2;
break;
但它不是唯一的地方,还有一些更复杂的地方。如果我要重构它,我需要一些我正确的信息。
最佳答案
不存在“if 循环”这样的东西。 Break 永远不能引用“if”语句。
参见Wasserman's answer指向语言规范的指针。
此外,假设 1 <= action <= 3,您的代码将简化为:
if(! (action == 2 && mode == 1)) {
i = action;
}
关于java - 这不会直接突破 if 语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10784430/