Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将if-else简化为一个语句?_Java_If Statement - Fatal编程技术网

Java 如何将if-else简化为一个语句?

Java 如何将if-else简化为一个语句?,java,if-statement,Java,If Statement,如何将以下代码简化为一行(没有if-else语句) 如果a为true,则必须检查是否为空和!b均为真。如果a为false(或!a为true),检查就足够了!b为真 因此,可以使用以下内容替换if语句的逻辑: result = !b && (isEmpty || !a); 您可以使用三元运算符: result = a ? isEmpty && !b : !b; 使用以下命令: result = a ? isEmpty && !b : !b; 我

如何将以下代码简化为一行(没有
if-else
语句)


如果
a
true
,则必须检查
是否为空
!b
均为
。如果
a
false
(或
!a
true
),检查
就足够了!b

因此,可以使用以下内容替换if语句的逻辑:

result = !b && (isEmpty || !a);

您可以使用三元运算符:

result = a ? isEmpty && !b : !b;
使用以下命令:

result = a ? isEmpty && !b : !b;

我想你要找的是

事实上,您可以用这样的语句(但没有println)来概括if-else语句:

result=(a?isEmpty&&!b:!b);

System.out.println(结果+“\n”)

为什么要这样做?如果
a
设置为
false
),代码将不会进入
。您确定这是正确的代码吗?类似于
result=(a&&isEmpty)| |!b
@ItamarG3请忽略
a
b
结果的初始值。它将在运行时“相同”,但在一个语句中,因此这是一个有效的解决方案@SFasda@AxelH在三值运算符中有两个检查,如
if-else
。我想避免那样。我的问题有误导性。很抱歉。在三元结构中,甚至在
if-else
中,只检查了一个条件,而不是执行
if(condition)else(!condition)
。请记住,有时最好保持代码可读@SFasda
result = a ? isEmpty && !b : !b;