
int a = 10;
int b = 20;
int c = 30;
System.out.println(++a > 99 && ++b < 23 || ++c == 31);
/* false && true || true */
Кто возьмёт себе первый true?Если так: (false && true) || true, результат будет true, т.е. выражение ++b не вычислится, а ++c вычислится.
Если так: false && (true || true), результат будет false, т.е. ни ++b, ни ++c не вычислится.
Поскольку приоритет && выше чем у ||, ++b захватит себе &&. Ответ будет true.
System.out.println("a= "+a+" b= "+b+" c= "+c); // a= 11, b= 20, c= 31