如何通过比较同一行上的三个变量来返回布尔值?

时间:2018-05-08 08:38:20

标签: java if-statement return conditional code-cleanup

我已经看到人们使用

在一行上做if和else语句

return var1 != null ? var2 : 0;

这似乎比制作if语句和更多行等等更紧凑,更快速...

上面的返回语句是一个示例,我无法重新创建类似的内容,因为我不知道在if and else行上使用return语句的语法。

<小时/> 目前的情况:

有3个整数。

我想比较如果var 1大于var 2 ,还要(&amp;&amp; 如果(var 1 + var 3)更大比var 2 。 如果这些条件为真,则return语句应返回false,否则为true。

尝试:

return var1 > var2 && (var1 + var3) > var2 ? false : true;

3 个答案:

答案 0 :(得分:3)

如果var1大于var2则是这个条件:

var1 > var2

如果var1 + var3大于var2则是这个条件:

var1 + var3 > var2

如果这两个条件匹配则返回false,否则为true:

return !(var1 > var2 && var1 + var3 > var2);

不需要?:运算符。

答案 1 :(得分:1)

不是

return !(var1 > var2 && (var1 + var3) > var2);

够了吗?

使用布尔代数,我们可以简化!运算符:!(a and b) = !a or !b

return var1 <= var2 || (var 1 + var 3) <= var2;

答案 2 :(得分:0)

您可以输入:

return !(var1 > var2 && (var1 + var3) > var2);