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

时间:2020-01-16 08:06:38

标签: java algorithm ternary

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

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

2 个答案:

答案 0 :(得分:5)

您可以写:

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

但这仅是因为您为ab分配了相同的值。

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

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

答案 1 :(得分:2)

您可以使用一个三元表达式来处理此问题:

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

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

a = x > 0 ? 100 : 1;
b = x > 0 ? 100 : 1;
相关问题