如何将以下代码简化为一行(没有if-else
语句)?
public static void main(String[] args)
{
boolean result;
boolean a = false;
boolean b = false;
boolean isEmpty = false;
if (a) {
result = isEmpty && !b;
System.out.println("if " + (isEmpty && !b));
} else {
System.out.println("else " + !b);
result = !b;
}
System.out.println(result);
}
答案 0 :(得分:7)
如果goo
为a
,则必须检查true
和isEmpty
是!b
。如果true
为a
(或false
为!a
),则可以检查true
是!b
。
因此,您可以使用以下命令替换if语句的逻辑:
true
答案 1 :(得分:1)
您可以使用三元运算符:
result = a ? isEmpty && !b : !b;
答案 2 :(得分:1)
我认为你要搜索的是ternary operator
事实上,你可以用这样的东西(但没有println)总结if-else语句:
result = (a ? isEmpty && !b : !b);
System.out.println(result + "\n");
答案 3 :(得分:0)
使用以下内容:
result = a ? isEmpty && !b : !b;