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