如何将两个 if 语句写成一行(三元运算符)?
How To Write Two If Statements Into One Single Line (Ternary Operator)?
如何将以下两行 if 语句写入一行代码:
if (s1.length() == 0)
return "hello";
if (s2.length() == 0)
return "goodbye";
我想学习如何以三元运算符格式编写它:
if ? then : else
但我的示例中没有 "else",而且我有两个 "if" 语句,所以让我感到困惑。
是否可以将这 2 个 if 语句合并为一行代码?
but I don't have an "else" in my example
为了使用条件运算符编写此代码,我们需要 最后的 "else" 案例。所以:
if (s1.length() == 0)
return "hello";
if (s2.length() == 0)
return "goodbye";
return "neither";
没有那个最终值,你不能用条件运算符写这个。
使用 最终值,你可以,但从可读性或维护的角度我不推荐它:
return s1.length() == 0 ? "hello" : s2.length() == 0 ? "goodbye" : "neither";
您可以看到 if/else
的 "then" 和 "else" 如何直接映射到条件的第二个和第三个操作数。
有趣的事实:它被恰当地称为 conditional operator。它通常被称为 "the ternary operator," 但实际上它只是 a 三元运算符(接受三个操作数的运算符,就像二元运算符一样接受两个操作数,一元运算符接受一个)。它是目前唯一的三元运算符 Java,但理论上,有一天,它可能会有其他...
可能喜欢
return (s1.length() == 0) ? "hello" : (s2.length() == 0 ? "goodbye" : "something when none is satisfied");
如何将以下两行 if 语句写入一行代码:
if (s1.length() == 0)
return "hello";
if (s2.length() == 0)
return "goodbye";
我想学习如何以三元运算符格式编写它:
if ? then : else
但我的示例中没有 "else",而且我有两个 "if" 语句,所以让我感到困惑。
是否可以将这 2 个 if 语句合并为一行代码?
but I don't have an "else" in my example
为了使用条件运算符编写此代码,我们需要 最后的 "else" 案例。所以:
if (s1.length() == 0)
return "hello";
if (s2.length() == 0)
return "goodbye";
return "neither";
没有那个最终值,你不能用条件运算符写这个。
使用 最终值,你可以,但从可读性或维护的角度我不推荐它:
return s1.length() == 0 ? "hello" : s2.length() == 0 ? "goodbye" : "neither";
您可以看到 if/else
的 "then" 和 "else" 如何直接映射到条件的第二个和第三个操作数。
有趣的事实:它被恰当地称为 conditional operator。它通常被称为 "the ternary operator," 但实际上它只是 a 三元运算符(接受三个操作数的运算符,就像二元运算符一样接受两个操作数,一元运算符接受一个)。它是目前唯一的三元运算符 Java,但理论上,有一天,它可能会有其他...
可能喜欢
return (s1.length() == 0) ? "hello" : (s2.length() == 0 ? "goodbye" : "something when none is satisfied");