Это, вероятно, основной вопрос, но кто-нибудь может объяснить, почему первый println выдает 0, а второй println выдает 2? Спасибо.
int count = 1; System.out.println(count + 1&1); System.out.println(count += 1&1);
Простой порядок оценки. Первый пример эквивалентен
System.out.println((count + 1) & 1);
, что (конечно) System.out.println(2 & 1);, что 0.
System.out.println(2 & 1);
0