我正在使用一个while (true){ if (x == y) { break; } else { //do stuff }}像这样循环,该框架只是一个示例框架,因为实际代码本身非常复杂且过于复杂,需要“break;” 在多个不同区域针对多个不同条件进行声明。我的问题是;有没有一种方法可以编写循环语句而不需要循环检查条件?除了 while(true) 之外,还有更有效的方法来编写无限循环吗?编辑:(java)编辑2:while (a < b){ while (true) { if (c < d) { if (e == null) { //do alot of stuff break; } else { //do something } } else if (d > c) { if (e == null) { //do alot of stuff break; } else { //do something } } else if (d == c) { break; } } a = a + 1;}
3 回答
慕沐林林
TA贡献2016条经验 获得超9个赞
有没有一种方法可以编写循环语句而不需要循环检查条件?除了 while(true) 之外,还有更有效的方法来编写无限循环吗?
您可以通过多种方式编写无限循环,但它们都是等效的。两者实际上并不比其他方法更有效:
while (true) { ... }
do { ... } while (true);
for (;;) { ... }
根据实际代码,将“中断循环逻辑”反转为“继续循环逻辑”可能是有意义的,如下所示:
boolean continueLoop;
do {
continueLoop = false;
// ... do stuff ...
if ( some condition ) {
continueLoop = true;
}
// ... do stuff ...
} while (continueLoop);
杨__羊羊
TA贡献1943条经验 获得超7个赞
if对于您的特定示例,您可以将语句中的中断逻辑移至while条件:
while (x != y) {
// do stuff
}
事实上,如果您的原始while循环有多个中断条件,您也许可以将它们全部移动到该while条件,例如
while (!cond1 && !cond2 ... ) {
// execute
}
添加回答
举报
0/150
提交
取消