Bitwise operator works on bits and performs a bit-by-bit operation. There are six Bitwise Operators and can be applied to the **integer types, long, int, short, char, and byte**.

**List of Bitwise Operator in Java**:

**Bitwise AND: ‘&’**

Binary AND Operator copies a bit to the result if it exists in both operands.**Bitwise OR: ‘|’**

Binary OR Operator copies a bit if it exists in either operand.**Bitwise XOR: ‘^’**

Binary XOR Operator copies the bit if it is set in one operand but not both.**Binary Left Shift: ‘<<’**

TThe left operands value is moved left by the number of bits specified by the right operand.**Binary Right Shift: ‘>>’**

The left operand’s value is moved right by the number of bits specified by the right operand.**Bitwise complement: ‘~’**

Binary Ones Complement Operator is unary and has the effect of ‘flipping’ bits.**zero-fill right shift: ‘>>>’**

The left operands value is moved right by the number of bits specified by the right operand and shifted values are filled up with zeros.

**Java Program for Bitwise Operator :**

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | public class Bitwise { public static void main(String args[]) { int number1 = 11; /* 15 = 00001011 */ int number2 = 22; /* 10 = 00010110 */ int output = 0; output = number1 & number2; System.out.println("Result for number1 & number2: "+output); output = number1 | number2; System.out.println("Result for number1 | number2: "+output); output = number1 ^ number2; System.out.println("Result for number1 ^ number2: "+output); output = ~number1; System.out.println("Result for ~number1: "+output); output = number1 << 2; System.out.println("Result for number1 << 2: "+output); output = number1 >> 2; System.out.println("Result for number1 >> 2: "+output); } } |

**Output**:

1 2 3 4 5 6 | Result for number1 & number2: 2 Result for number1 | number2: 31 Result for number1 ^ number2: 29 Result for ~number1: -12 Result for number1 << 2: 44 Result for number1 >> 2: 2 |