我们希望循环达到某个索引或无限循环。
因此,我们有一个属性loopCount,它可以大于0或-1。
我们希望有一个包含2个停止条件的循环:
1.到达loopCount。
2.无休止-loopCount == -1。
所以这是代码:
for (int i = 0; (loopCount == -1 || i < loopCount) ; i++) {
doSomething();
}
不好的是,以防万一
loopCount == -1
我继续成长,并可能达到INT_MAX。
有什么更优雅的想法吗?
最佳答案
为什么不利用||
短路这一事实呢?
使用
for (int i = 0; loopCount == -1 || i++ < loopCount; /*intentionally blank*/) {
这样,仅当
i
不为-1时,loopCount
才递增。我已经足够小心使用i++
而不是++i
了。我还删除了不必要的括号。
关于java - Java:带有额外停止条件的优雅for循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35846620/