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

时间:2018-05-14 09:23:57

标签: java if-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);
}

4 个答案:

答案 0 :(得分:7)

如果gooa,则必须检查trueisEmpty!b。如果truea(或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;