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

S F*_*sda 3 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);
}
Run Code Online (Sandbox Code Playgroud)

Era*_*ran 7

如果atrue,您必须检查isEmptyAND !b是否都是true.如果afalse(或者!atrue),这足以检查!btrue.

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

result = !b && (isEmpty || !a);
Run Code Online (Sandbox Code Playgroud)