Почему && имеет более высокий приоритет, чем || (Ява)

    boolean a = true;
    boolean b = true;
    boolean c = false;

    System.out.println(a || b && c); // true
    System.out.println(b && c || a); // true

Я только недавно обнаружил здесь то, что мне показалось странным. Почему && и || находятся на разных уровнях приоритета? Я бы предположил, что они были на одном уровне. Вышесказанное демонстрирует это. оба утверждения верны, даже если оценка слева направо выдаст false для первого и true для второго.

Кто-нибудь знает причину этого?

(Кстати, я бы просто использовал здесь скобки, но это был старый код, который поднял вопрос)

8
задан Martijn Courteaux 30 December 2013 в 06:17
поделиться