Как мне упростить следующий код до одной строки (без оператора if-else)?
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); }
Я думаю, что вы ищете это троичный оператор
На самом деле, вы можете суммировать этот оператор if-else с чем-то вроде этого (но без println):
result = (a ? isEmpty && !b : !b); System.out.println(result + "\n");
Вы можете использовать троичный оператор:
result = a ? isEmpty && !b : !b;
Используйте следующее:
Если a равно true, убедитесь, что оба значения isEmpty И !b равны true.Если a равно false (или !a равно true), достаточно проверить, что !b равно true.
a
true
isEmpty
!b
false
!a
Поэтому вы можете заменить логику оператора if на:
result = !b && (isEmpty || !a);