The '&' operator in java
sets a bit to 1 if both operand's bits are 1
sets a bit to 1 if only one operand's bit is 1.
sets a bit to 1 if at least one operand's bit is 1
reverses the value of every bit in the operand