Java – Bitwise Operator

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 :

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:

 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