Java:带有额外停止条件的优雅 for 循环

标签 java loops for-loop while-loop int

我们想要一个循环来达到某个索引或无限运行。
所以我们有一个属性loopCount,它可以大于0OR -1。

我们希望有一个具有 2 个停止条件的循环:
1. 到达loopCount
2. 无尽 - loopCount == -1。

所以这是代码:

for (int i = 0; (loopCount == -1 || i < loopCount) ; i++) {
   doSomething();
}

这不优雅的是以防万一
循环计数 == -1
我继续成长,可能会达到 INT_MAX。

有什么更优雅的方法吗?

最佳答案

为什么不利用 || 的事实短路

使用

for (int i = 0; loopCount == -1 || i++ < loopCount; /*intentionally blank*/) {

这边,i仅在如果 loopCount 时递增是不是 -1,并且我已经非常小心地使用 i++而不是++i .

我还删除了不必要的括号。

关于Java:带有额外停止条件的优雅 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35846620/

相关文章:

java - 什么会导致 joda 时间的输出差异?

c++ - 如何在每次循环迭代期间生成一个 vector ,存储数据,然后删除该 vector ?

c++ - 数组循环在循环结束后输出垃圾

python - 在 Python 中使用 "for"计算索引

c++ - 在 for 循环 C++ 中创建变量的新实例

javascript - 检查每个购物车标题项的特定样式名称

java - 从左上角绘制点击之间的绘制线

java - 从 java 命令行发送参数

Java:具有静态方法的类的集合——如果静态接口(interface)方法不是方法,还有其他方法吗?

JavaScript 在添加项目时循环遍历对象