The Java Bitwise Operators allow access and modification of a particular bit inside a section of the data. It can be applied to integer types and bytes, and cannot be applied to float and double.
Operator | Meaning | Work |
---|---|---|
& | Binary AND Operator | There are two types of AND operators in Java: the logical && and the binary &. Binary & operator work very much the same as logical && operators works, except it works with two bits instead of two expressions. The "Binary AND operator" returns 1 if both operands are equal to 1. |
| | Binary OR Operator | Like "AND operators ", Java has two different "OR" operators: the logical || and the binary |. Binary | Operator work similar to logical || operators works, except it, works with two bits instead of two expressions. The "Binary OR operator" returns 1 if one of its operands evaluates as 1. if either or both operands evaluate to 1, the result is 1. |
^ | Binary XOR Operator | It stands for "exclusive OR" and means "one or the other", but not both. The "Binary XOR operator" returns 1 if and only if exactly one of its operands is 1. If both operands are 1, or both are 0, then the result is 0. |
~ | Binary Complement Operator | |
<< | Binary Left Shift Operator | |
>> | Binary Right Shift Operator | |
>>> | Shift right zero fill operator |
Program to Show Bitwise Operators Works
Example:
public class bitwiseop {
public static void main(String[] args) {
//Variables Definition and Initialization
int num1 = 30, num2 = 6, num3 =0;
//Bitwise AND
System.out.println("num1 & num2 = " + (num1 & num2));
//Bitwise OR
System.out.println("num1 | num2 = " + (num1 | num2) );
//Bitwise XOR
System.out.println("num1 ^ num2 = " + (num1 ^ num2) );
//Binary Complement Operator
System.out.println("~num1 = " + ~num1 );
//Binary Left Shift Operator
num3 = num1 << 2;
System.out.println("num1 << 1 = " + num3 );
//Binary Right Shift Operator
num3 = num1 >> 2;
System.out.println("num1 >> 1 = " + num3 );
//Shift right zero fill operator
num3 = num1 >>> 2;
System.out.println("num1 >>> 1 = " + num3 );
}
}
Output:
num1 & num2 = 6 num1 | num2 = 30 num1 ^ num2 = 24 ~num1 = -31 num1 << 1 = 120 num1 >> 1 = 7 num1 >>> 1 = 7