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

str*_*nge 3 java conditional if-statement return code-cleanup

我见过人们只在 1 行中使用 if 和 else 语句

return var1 != null ? var2 : 0;.

这似乎比做一个 if 语句然后多几行等等更紧凑和更快地输入......

上面的 return 语句是一个例子,我无法重新创建类似的东西,因为我不知道在行上使用if and else语句的语法return


目前的情况:

有3个整数。

我想比较var 1 是否大于 var 2以及 ( && ) if (var 1 + var 3) 是否大于 var 2。如果这些条件为真,则返回语句应返回假,否则为真。

试图:

return var1 > var2 && (var1 + var3) > var2 ? false : true;
Run Code Online (Sandbox Code Playgroud)

khe*_*ood 5

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

var1 > var2
Run Code Online (Sandbox Code Playgroud)

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

var1 + var3 > var2
Run Code Online (Sandbox Code Playgroud)

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

return !(var1 > var2 && var1 + var3 > var2);
Run Code Online (Sandbox Code Playgroud)

或者,您可以否定个别条件,这给出:

return (var <= var2 || var1 + var3 <= var2);
Run Code Online (Sandbox Code Playgroud)

(只要您的数字都不是 NaN,则等效。)

不需要?:操作员。