ошибка компиляции в логическом выражении

Это фрагмент кода Java:

static boolean a; // gets false
static boolean b; 
static boolean c;

    public void printA(){

         boolean bool = (a = true) || (b = true) && (c = true);    
         System.out.print(a + ", " + b + ", " + c);     
    }

Не компилируется, в чем проблема? Ошибка: несколько маркеров в этой строке; синтаксическая ошибка в строке 'BOOL» переменная. Я ожидаю, что это напечатаетtrue, false, true, Хотя согласно моим учебникам он печатает.true, false, false

Я понимаю, что он выполняет короткое замыкание, но в случае && обе стороны должны быть оценены. Это не домашняя работа, я учу Java. ура

Ответы на вопрос(4)

Ваш ответ на вопрос