是否可以使用三元运算符转换以下Java代码:
if (x > 0) {
a = 100;
b = 100;
} else {
a = 1;
b = 1;
}
答案 0 :(得分:5)
您可以写:
a = b = x > 0 ? 100 : 1;
但这仅是因为您为a
和b
分配了相同的值。
在一般情况下,您需要为要分配给每个变量的一个单独的三元条件运算符:
a = x > 0 ? 100 : 1;
b = x > 0 ? 100 : 1;
答案 1 :(得分:2)
您可以使用一个三元表达式来处理此问题:
a = x > 0 ? 100 : 1;
b = a;
之所以可行,是因为a
和b
的分配逻辑恰好是相同的。如果不是这种情况,我们将需要两个单独的三元表达式:
a = x > 0 ? 100 : 1;
b = x > 0 ? 100 : 1;