What are operators and its types in Java?
Operators are the symbols which perform the operation on the some values. These values are known as operands. Java have following operators –
- Arithmetic Operators
- Relational Operators
- Logical Operators
- Assignment Operators
- Bitwise Operators
- Misc Operators
1. Arithmetic Operators
Operator |
Operator Name |
Description |
Example |
+ |
Addition |
Adds two operands |
I = 40, J= 20I + J = 60 |
– |
Subtraction |
Subtracts second operand from the first |
I = 40, J= 20I – J = 20 |
* |
Multiplication |
Multiplies both operands |
I = 40, J= 20I * J = 800 |
/ |
Divide |
Perform division operation |
I = 40, J= 20I / J = 2 |
% |
Modulus |
Return the remainder after Division |
I = 40, J= 20I % J = 0 |
++ |
Increment |
Increase the operand value by 1 |
I=40,I++ = 41++I = 40 (print 40 but next time its value is 41) |
— |
Decrement |
Decrease the operand value by 1 |
I=40I– = 39–I = 40(print 40 but next time its value is 39) |
2. Relational Operators
It is also known as comparison operator because it compares the values. After comparison it returns the Boolean value i.e. either true or false.
Operator |
Operator Name |
Description |
Example |
== |
Equal to |
If the values of two operands are equal then it returns true. |
I = 20, J = 20(I == J) is true |
!= |
Not Equal to |
If the values of two operands are not equal then it returns true. |
I = 20, J = 20(I == J) is False |
< |
Less than |
If the value of left operand is less than the value of right operand then it returns true |
I = 40, J = 20(I < J) is False |
> |
Greater than |
If the value of left operand is greater than the value of right operand then it returns true |
I = 40, J = 20(I > J) is True |
<= |
Less than or equal to |
If the value of left operand is less than or equal to the value of right operand then it returns true. |
I = 40, J = 20(I <= J) is False |
>= |
Greater than or equal to |
If the value of left operand is greater than or equal to the value of right operand then it returns true. |
I = 40, J = 20(I >= J) is True |
Watch this Video on Java Training:
3. Logical Operators
Operator |
Operator Name |
Description |
Example |
and |
Logical AND |
When Both side condition is true the result is true otherwise false |
2<1 and 2<3False |
or |
Logical OR |
When at least one condition is true then result is true otherwise false |
2<1 or 2<3True |
not |
Logical NOT |
Reverse the condition |
Not(5>4)False |
4. Assignment Operator
Operator |
Operator Name |
Description |
Example |
= |
Assignment |
It assigns value from right side operand to left side operand |
I = 40 It assigns 40 to I |
+= |
Add then assign |
It performs addition and then result is assigned to left hand operand |
I+=J that meansI = I + J |
-= |
Subtract then assign |
It performs subtraction and then result is assigned to left hand operand |
I-=J that meansI = I – J |
*= |
Multiply the assign |
It performs multiplication and then result is assigned to left hand operand. |
I*=J that meansI = I * J |
/= |
Divide then assign |
It performs division and then result is assigned to left hand operand |
I/=J that meansI = I / J |
%= |
Modulus then assign |
It performs modulus and then result is assigned to left hand operand |
I%=Jthat meansI = I % J |
<<= |
Left shift AND assignment operator |
It performs Binary left shift and then result is assigned to left hand operand |
I<<=5 that means
I = I << 5 |
>>= |
Right shift AND assignment operator |
It performs Binary right shift and then result is assigned to left hand operand |
I>>=5 that means
I = I >>=5 |
&= |
Bitwise AND assignment operator |
It performs bitwise AND and then result is assigned to left hand operand |
I &= 5 that meansI = I & 5 |
^= |
bitwise exclusive OR and assignment operator |
It performs bitwise exclusive OR and then result is assigned to left hand operand |
I ^= 5 that meansI = I ^ 5 |
|= |
bitwise inclusive OR and assignment operator |
It performs bitwise inclusive OR and then result is assigned to left hand operand |
I |= 5 that meansI = I | 5 |

5. Bitwise Operators
It performs bit by bit operation. Suppose there are two variable I = 10 and J = 20 and their binary values are
I = 10 = 0000 1010
J = 20 = 0001 0100
Operator |
Operator Name |
Description |
Example |
& |
Binary AND |
If both bits are 1 then 1 otherwise 0 |
I & J0000 0000 |
| |
Binary OR |
If one of the bit is 1 then 1 otherwise 0 |
I | J0001 1110 |
^ |
Binary XOR |
If both bit are same then 0 otherwise 1 |
I ^ J0001 1110 |
~ |
Binary Complement |
If bit is 1 the make it 0 and if bit is 0 the make it 1 |
~I1111 0101 |
<< |
Binary Left Shift |
The left operand is moved left by the number of bits specified by the right operand. |
I << 2 will give 240 i.e. 1111 0000 |
>> |
Binary Right Shift |
The left operand is moved right by the number of bits specified by the right operand. |
I >> 2 will give 15 i.e. 1111 |
>>> |
Shift right zero fill operator |
Left operand is shifted right by the no. of bits specified by right operand and shifted values are filled up with 0. |
I >>>2 will give 15 i.e. 0000 1111 |
Misc Operators
Some misc operators are:
1. Conditional Operator ( ? : )
It is also known as ternary operator that means it consists of three operands and performs Boolean expression.
Syntax
variable i = (condition) ? value1 (if condition is true) : value2( if condition is false)
e.g.
public class Intellipaat {
public static void main(String args[]){
int i, j;
i = 20;
j = (i <=50) ? 20: 60;
System.out.println( "Value of j is : " + j );
}
}
Compile and execute above program.
Output
alue of j is : 20
2. instanceof Operator:
It is used only for object reference variables. It checks that whether the object is of interface type or class type.
Syntax:
(Object_reference_variable ) instanceof (interface/class type)
e.g.
public class Intellipaat {
public static void main(String args[]){
String name = "intellipaat";
boolean outcome = name instanceof String;
System.out.println( outcome );
}
}
Compile and execute above program.
Output
true
It returns true because name is a type of String.
Operators Precedence in Java:
Category |
Operator |
Associativity |
Postfix |
() [] . (dot operator) |
Left toright |
Unary |
++ – – ! ~ |
Right to left |
Multiplicative |
* / % |
Left to right |
Additive |
+ – |
Left to right |
Shift |
>> >>> << |
Left to right |
Relational |
> >= < <= |
Left to right |
Equality |
== != |
Left to right |
Bitwise AND |
& |
Left to right |
Bitwise XOR |
^ |
Left to right |
Bitwise OR |
| |
Left to right |
Logical AND |
&& |
Left to right |
Logical OR |
|| |
Left to right |
Conditional |
?: |
Right to left |
Assignment |
= += -= *= /= %= >>= <<= &= ^= |= |
Right to left |
Comma |
, |
Left to right |