你如何通过比较同一行上的三个变量来 return 一个布尔值?
How do you return a boolean by comparing three variables on the same line?
我见过有人使用
仅在 1 行上执行 if 和 else 语句
return var1 != null ? var2 : 0;
.
这似乎比先做一个 if 语句再写几行等等更紧凑,输入起来也更快...
上面的 return 语句是一个例子,我无法重新创建类似的东西,因为我不知道在 return
行上使用 if and else
语句的语法。
目前情况:
有3个整数。
我想比较 if var 1 大于 var 2 和 (&&) if (var 1 + var 3) 大于 var 2。
如果这些条件为真,那么 return 语句应该 return false else true.
尝试:
return var1 > var2 && (var1 + var3) > var2 ? false : true;
您可以输入:
return !(var1 > var2 && (var1 + var3) > var2);
“如果var1
大于var2
”是这个条件:
var1 > var2
“如果var1 + var3
大于var2
”是这个条件:
var1 + var3 > var2
Return 如果这两个条件都匹配则为 false,否则为 true:
return !(var1 > var2 && var1 + var3 > var2);
或者,您可以否定个别条件,这给出:
return (var1 <= var2 || var1 + var3 <= var2);
(只要你的数字中 none 是 NaN 就等价。)
不需要 ?:
运算符。
不是
return !(var1 > var2 && (var1 + var3) > var2);
够了吗?
使用布尔代数,我们可以简化 !
运算符:!(a and b) = !a or !b
return var1 <= var2 || (var 1 + var 3) <= var2;
我见过有人使用
仅在 1 行上执行 if 和 else 语句return var1 != null ? var2 : 0;
.
这似乎比先做一个 if 语句再写几行等等更紧凑,输入起来也更快...
上面的 return 语句是一个例子,我无法重新创建类似的东西,因为我不知道在 return
行上使用 if and else
语句的语法。
目前情况:
有3个整数。
我想比较 if var 1 大于 var 2 和 (&&) if (var 1 + var 3) 大于 var 2。 如果这些条件为真,那么 return 语句应该 return false else true.
尝试:
return var1 > var2 && (var1 + var3) > var2 ? false : true;
您可以输入:
return !(var1 > var2 && (var1 + var3) > var2);
“如果var1
大于var2
”是这个条件:
var1 > var2
“如果var1 + var3
大于var2
”是这个条件:
var1 + var3 > var2
Return 如果这两个条件都匹配则为 false,否则为 true:
return !(var1 > var2 && var1 + var3 > var2);
或者,您可以否定个别条件,这给出:
return (var1 <= var2 || var1 + var3 <= var2);
(只要你的数字中 none 是 NaN 就等价。)
不需要 ?:
运算符。
不是
return !(var1 > var2 && (var1 + var3) > var2);
够了吗?
使用布尔代数,我们可以简化 !
运算符:!(a and b) = !a or !b
return var1 <= var2 || (var 1 + var 3) <= var2;