Java provides a set of operators to manipulate variables.
We can divide all the Java operators into the following groups:
- Arithmetic Operators
- Relational Operators
- Bitwise Operators
- Logical Operators
- Assignment Operators
- Miscellaneous Operators
Arithmetic Operators:
Arithmetic operators are used in mathematical expressions in the same way that they are used in algebra.
Operator | Description | Example |
+ (Addition) | Adds values on either side of the operator. | A + B will give 30 |
– (Subtraction) | Subtracts right-hand operand from left-hand operand. | A – B will give -10 |
* (Multiplication) | Multiplies values on either side of the operator. | A * B will give 200 |
/ (Division) | Divides left-hand operand by right-hand operand. | B / A will give 2 |
% (Modulus) | Divides left-hand operand by right-hand operand and returns remainder | B % A will give 0 |
++ (Increment) | Increases the value of operand by 1. | B++ gives 21 |
— (Decrement) | Decreases the value of operand by 1. | B– gives 19 |
Relational Operators
There are following relational operators supported by Java language.
Assume variable A and B. A value is 20 and B value is 30
Operator | Description | Example |
== (equal to) | Checks if the values of two operands are equal or not, if yes then condition becomes true. | (A == B) is not true |
!= (not equal to) | Checks if the values of two operands are equal or not, if values are not equal then condition becomes true. | (A != B) is true. |
>(greater than) | Checks if the value of left operand is greater than the value of right operand, if yes then condition becomes true.
|
(A > B) is not true. |
< (less than) | Checks if the value of left operand is less than the value of right operand, if yes then condition becomes true. | (A < B) is true. |
>= (greater than or equal to) | Checks if the value of left operand is greater than or equal to the value of right operand, if yes then condition becomes true. | (A >= B) is not true. |
<= (less than or equal to) | Checks if the value of left operand is less than or equal to the value of right operand, if yes then condition becomes true. | (A <= B) is true. |
Bitwise Operators
- Java defines several bitwise operators, which can be applied to the integer types, long, int, short, char, and byte.
- Bitwise operator works on bits and performs bit-by-bit operation.
Assume if a = 60 and b = 13;
In binary format :
a = 0011 1100 and b = 0000 1101
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
Operator | Description | Example |
& (bitwise and) | Binary AND Operator copies a bit to the result if it exists in both operands | (A & B) will give 12 which is 0000 1100 |
| (bitwise or) | Binary OR Operator copies a bit if it exists in either operand. | (A | B) will give 61 which is 0011 1101 |
^ (bitwise XOR) | Binary XOR Operator copies the bit if it is set in one operand but not both. | (A ^ B) will give 49 which is 0011 0001 |
~ (bitwise compliment) | Binary Ones Complement Operator is unary and has the effect of ‘flipping’ bits. | (~A ) will give -61 which is 1100 0011 in 2’s complement form due to a signed binary number. |
<< (left shift) | Binary Left Shift Operator. The left operands value is moved left by the number of bits specified by the right operand. | A << 2 will give 240 which is 1111 0000 |
>> (right shift) | Binary Right Shift Operator. The left operands value is moved right by the number of bits specified by the right operand. | A >> 2 will give 15 which is 1111 |
>>> (zero fill right shift) | Shift right zero fill operator. 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. | A >>>2 will give 15 which is 0000 1111 |
Logical Operators
Assume Boolean variables A holds true and variable B holds false, then
Operator | Description | Example |
&& (Logical AND operator) | If both the operands are non-zero, then the condition becomes true. | (A && B) is false |
|| (Logical OR Operator) | If any of the two operands are non-zero, then the condition becomes true. | (A || B) is true |
! (Logical NOT Operator) | Use to reverses the logical state of its operand. If a condition is true then Logical NOT operator will make false. | !(A && B) is true |
Assignment Operators:
The assignment operators are supported by Java language.
Operator | Description | Example |
=(Simple assignment operator) | Assigns values from right side operands to left side operand. | C = A + B will assign value of A + B into C |
+=(Add AND assignment operator) | It adds right operand to the left operand and assign the result to left operand. | C += A is equivalent to C = C + A |
-=(Subtract AND assignment operator) | It subtracts right operand from the left operand and assign the result to left operand. | C -= A is equivalent to C = C – A |
*=(Multiply AND assignment operator) | It multiplies right operand with the left operand and assign the result to left operand. | C *= A is equivalent to C = C * A |
/=(Divide AND assignment operator) | It divides left operand with the right operand and assign the result to left operand. | C /= A is equivalent to C = C / A |
%=(Modulus AND assignment operator) | It takes modulus using two operands and assign the result to left operand. | C %= A is equivalent to C = C % A |
<<= | Left shift AND assignment operator. | C <<= 2 is same as C = C << 2 |
>>= | Right shift AND assignment operator. | C >>= 2 is same as C = C >> 2 |
&= | Bitwise AND assignment operator. | C &= 2 is same as C = C & 2 |
^= | bitwise exclusive OR and assignment operator. | C ^= 2 is same as C = C ^ 2 |
|= | bitwise inclusive OR and assignment operator. | C |= 2 is same as C = C | 2 |
Miscellaneous Operators
There are few other operators supported by Java Language.
- Conditional Operator ( ? : )
- Conditional operator is also known as the ternary operator.
- This operator consists of three operands and is used to evaluate Boolean expressions.
- The goal of the operator is to decide, which value should be assigned to the variable.
The operator is written as:
variable x = (expression) ? value if true : value if false
instanceof Operator
- This operator is used only for object reference variables.
- The operator checks whether the object is of a particular type (class type or interface type).
instanceof operator is written as:
( Object reference variable ) instanceof (class/interface type)
- If the object referred by the variable on the left side of the operator passes the IS-A check for the class/interface type on the right side, then the result will be true.
- Arithmetic Compound Assignment Operators In Java
Consider General Syntax:
num1 = num1 + 2
Now after using arithmetic Compound Assignment Statement , Equivalent Statement for above statement is written as:
num1 += 2
- Step 1 : Write Statement (With using Arithmetic Operator inside Two Operands)
- Step 2 : Write Arithmetic Operator before Assignment Sign.
- Step 3 : Remove First Operand which is same as “Left Value”.
- Step 4 : We will get Arithmetic Compound Assignment Statement Expression.
Examples :
Arithmetic Compound Assignment Operators
Operator | Use of operator |
n1 += 2 | n1 = n1 + 2 |
n1 -= 2 | n1 = n1 – 2 |
n1 *= 2 | n1 = n1 * 2 |
n1 /= 2 | n1 = n1 / 2 |
n1 %= 2 | n1 = n1 % 2 |
Example 1:
OUTPUT:
a = 5
b = 5
c = 0
Example 2:
[ad type=”banner”]Output :
a = 34
Explanation :
- We have used multiplication Operator inside Expression.
- Multiplication Operator have High Priority than Compound Assignment.
- It will be executed first and after completing multiplication , Value is Added with “a”.