Запутаться с == и = в «если»

Я знаю, что мы не можем использовать оператор присваивания в операторах if в java, как мы используем в любых других языках.

то есть

            int a;

            if(a = 1) {  } 

выдаст ошибку компиляции.

но следующий код работает нормально, как?

           boolean b;

           if(b = true) {   }

РЕДАКТИРОВАТЬ: Является ли это исключением из правила, что назначение не может быть использовано в операторе if.

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

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