如何在 java 缺少一个条件的情况下使用 ?: 运算符?

How to use ?: operator in java where one condition is lacking?

我想简化这段代码:

++ index;
if(index > max)
  index = 0;

我试着这样写:

++index > max ?   : index = 0; //java compile failed

怎么做?

我认为您要实现的目标称为三元运算符。通过简单的 google 搜索,可以轻松找到无数解释它的文章。这是来自 geeksforgeeks 的一个:https://www.geeksforgeeks.org/java-ternary-operator-with-examples/

反正这个是用来设置变量的。你评估条件,如果它是真的你的变量是第一个选项,如果它是假的你的变量将是第二个选项。不确定我在这里是否有意义。

index = ++index > max ? 0 : index

本质上这是在问:++index > max?如果是 index = 0 否则 index = index

尽管我在 java 中不确定 ++index 是否会在求值之前递增,如果不是,您只需在执行三元运算符之前递增它即可。

希望这对您有所帮助。