Я знаю, что делают &
и |
- он оценивает обе стороны (или все условия, если их больше 2), но я не могу сказать, что использовал эти два оператора очень долгое время, я всегда использовал &&
и ||
.
например (a != null) & (a.length == 1)
будет выдавать, если мы проверяем длину a
после того, как мы узнаем, что он равен нулю, и, очевидно, (a != null) && (a.length == 1)
просто вернет false, если a
был равен нулю, без необходимости проверять, равна ли длина a
1. Я также знаю, что есть небольшое улучшение производительности использовать &&
и ||
, если у вас есть много условий для проверки, возвращение истинного / ложного в условии 2/100 быстрее, чем оценка всех 100, зная, что это истинно / ложно в условии 2.
В каких ситуациях потребуются одиночные &
и |
операнды?