Побитовые операторы должны перемещать переменные и оперировать с ними бит за битом. В случае с целыми числами, длинными, символами это имеет смысл. Эти переменные могут содержать полный диапазон значений, зависящих от их размера.
Однако в случае логических значений логическое значение может содержать только два значения. 1 = истина или 0 = ложь. Но размер логического значения не определен. Он может быть большим, как байт, или совсем маленьким.
Итак, каков эффект использования побитового оператора для логического значения? Преобразует ли JVM его в обычный логический оператор и двигается ли дальше? Обрабатывает ли он логическое значение как одноразрядный объект для операции? Или результат не определен вместе с размером логического?