Die bitweisen Operatoren sollen Variablen übertragen und Stück für Stück bearbeiten. Bei ganzen Zahlen, Longs und Zeichen ist dies sinnvoll. Diese Variablen können den gesamten Wertebereich enthalten, der durch ihre Größe erzwungen wird.
Bei Booleschen Werten kann ein Boolescher Wert jedoch nur zwei Werte enthalten. 1 = wahr oder 0 = falsch. Die Größe des Booleschen Werts ist jedoch nicht definiert. Es kann so groß wie ein Byte oder so klein wie ein bisschen sein.
Wie wirkt sich die Verwendung eines bitweisen Operators auf einen Booleschen Wert aus? Übersetzt die JVM sie im Wesentlichen in einen normalen logischen Operator und fährt fort? Behandelt es den Booleschen Wert für die Operation als Einzelbit-Entität? Oder ist das Ergebnis zusammen mit der Größe eines Booleschen Werts undefiniert?