我在for循环中使用了多个continue语句,但是当我运行声纳时,它抱怨了太多的继续语句。你能帮忙如何减少一个继续声明吗?例如:
for() {
if(condition1) { continue }
if(condition2) { continue }
// more ...
}
以上是我的代码示例。
答案 0 :(得分:4)
在每个if
中使用continue意味着您不想执行其余的代码。这只是意味着您正在尝试执行与if else
类似的工作。所以请将代码放在else
部分中,在进入这样的if
之后你不想执行它。
for() {
if(condition1) {
// your code
}
else if(condition2) {
// your code
}
// more ...
}
答案 1 :(得分:1)
当所有else if
后跟另一个if
时,使用boolean
是最佳解决方案。当if
分散时,我们可以使用for() {
//few more code
if(condition1) {
//few more code
continue;
}
//few more code
if(condition2) {
//few more code
continue;
}
//few more code
if(conditionN) {
//few more code
continue;
}
}
变量。
我认为你正在尝试这样的事情:
boolean
然后你应该使用boolean needMoreExecution = true;
for() {
//few more code
if(needMoreExecution && condition1) {
//few more code
needMoreExecution = false;
}
//few more code
if(needMoreExecution && condition2) {
//few more code
needMoreExecution = false;
}
//few more code
if(needMoreExecution && condition_N) {
//few more code
needMoreExecution = false;
}
//few more code
if(needMoreExecution) {
//rest of the code of loop
}
}
变量
{{1}}
答案 2 :(得分:0)
这在很大程度上取决于上下文,但一般情况下,您可以通过 if(!(所有条件继续))语句排除它们来避免使用它们。
例如,您的"代码"看起来像那样
for(something in there)
{
if(!(condition1 && condition2))
//do whatever you didn't want to be executed for those conditions 1 and 2.
}
另外,如果你不想在一行中写出很多ifs,你的代码就会更容易阅读。
答案 3 :(得分:0)
使用if-else
语句,以便您只能执行一个语句。同时考虑一个语句中的多个条件可以避免这种情况。