使用三元运算符将 if else 语句转换为 java 语句

Converting if else statement to java statement using ternary operator

是否可以使用三元运算符转换以下 java 代码:

if (x > 0) {
    a = 100;
    b = 100;
} else {
    a = 1;
    b = 1;
}

你可以这样写:

a = b = x > 0 ? 100 : 1;

但只是因为您将相同的值分配给 ab

在一般情况下,您需要为要分配给的每个变量单独的三元条件运算符:

a = x > 0 ? 100 : 1;
b = x > 0 ? 100 : 1;

你可以用一个三元表达式来处理:

a = x > 0 ? 100 : 1;
b = a;

之所以可行,是因为 ab 的赋值逻辑恰好相同。如果不是这种情况,我们将需要两个单独的三元表达式:

a = x > 0 ? 100 : 1;
b = x > 0 ? 100 : 1;