бинарные операторы с одинаковым приоритетом всегда оцениваются слева направо, за исключением присваивания (почти на каждом языке, о котором я могу думать). Это важно в этом случае, потому что ||
является оператором сокращения.Если результат известен, т.е. первое выражение истинно, второе выражение не будет оцениваться.Таким образом, правильный способ использования ||
и &&
для проверки на нулевое значение выглядит следующим образом.
if(text == null || text.method())
или
if(text != null && text.method2())
Порядок такой, как мы читаем слеванаправо (и сверху вниз) на английском языке.cf На японском вы читаете сверху вниз, затем справа налево.