Loops 内部包含if语句的for循环语法
关于使用if语句编写for循环的一般共识是什么:Loops 内部包含if语句的for循环语法,loops,syntax,if-statement,for-loop,coding-style,Loops,Syntax,If Statement,For Loop,Coding Style,关于使用if语句编写for循环的一般共识是什么: for (int i = 0; i < hi; i++) { if (some invalid condition) { continue; } if (another invalid condition) { continue; } //do stuff here after passing all the invalid conditions } for(in
for (int i = 0; i < hi; i++) {
if (some invalid condition) {
continue;
}
if (another invalid condition) {
continue;
}
//do stuff here after passing all the invalid conditions
}
for(int i=0;i
相对于
for (int i = 0; i < hi; i++) {
if (valid condition1 && valid condition 2 && ...) {
//do stuff
}
for(int i=0;i
在我看来,第一种编写方法更简洁,调试也更方便,尽管它占用了更多的行。我的主要问题是,第二种编写方法是否有任何好处。即使只有一条if语句,似乎第一种编写方法会更好地使它更易于维护/调试未来。在循环中“继续”是非常罕见的。在大多数情况下,在循环中遇到无效情况自然会导致“中断”。然而,您的示例没有错,如果这符合您的业务逻辑,它可能确实更适合。有些人不喜欢“继续”,因为它非常有效a
goto
。例如,考虑:
for (int i = 0; i < hi; i++) {
....
do_this_for_each_full_iteration();
}
for(int i=0;i
如果…
包含任何continue
语句,则将跳过在每次完整迭代后执行此操作()
这些人往往都不喜欢从函数中间返回return
。break呢,为什么更可取?break
的争议性较小,因为它退出循环,而不是假装当前迭代成功运行。但仍有人不喜欢break
。然而continue
和return
意味着如果您想“在完成之前”执行某些操作你必须在循环体/函数的末尾以及每次继续
/返回
时添加它。好的一点,尽管我认为这整件事都被夸大了。我打赌90%不使用转到
的人不知道为什么。