繁体   English   中英

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

[英]How can I simplify this if-else into one statement?

如何将以下代码简化为一行(没有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);
}

如果atrue ,则必须检查isEmpty AND !b是否为true 如果afalse (或者!atrue ),则足以检查!b是否为true

因此,您可以使用以下命令替换if语句的逻辑:

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

您可以使用三元运算符:

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

我认为你正在寻找的是三元运算符

事实上,你可以用这样的东西(但没有println)总结if-else语句:

result = (a ? isEmpty && !b : !b); System.out.println(result + "\\n");

使用以下内容:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM