• An operator is a symbol that tells the computer to perform certain mathematical or logical calculations.
  • Operators are used in programs to manipulate data and variables.
  • Java provides the following operators:

Arithmetic operators:

  • Java provides all the basic arithmetic operators.
Operator Meaning
+ Addition or unary plus
Subtraction or unary minus
* Multiplication
/ Division
% Modulo division
  1. Integer Arithmetic
  • When both the operands in a single arithmetic expression such as a+b are integers, the expression is called an integer expression, and the operation is called integer arithmetic.
  • Integer arithmetic always produces integer result.
  1. Real Arithmetic
  • An arithmetic operation involving only real operands is called real arithmetic.
  • A real operand may assume values either in decimal or exponential notation.
  • Modulus operator % can be applied to the floating point data as well.
  1. Mixed-mode Arithmetic
  • When one of the operands is real and the other is integer, the expression is called a mixed-mode arithmetic expression and result will be in real.
class floatDemo
     public static void main(String args[])
         float a=35.5f, b=5.2f;

Relational Operators

  • Relational operators are used for comparing two operands.
  • We can compare operands for their relational equality.
Operator Meaning
< Is less than
<= Is less than or equal to
> Is greater than
>= Is greater than or equal to
== Is equal to
!= Is not equal to
class RelationalDemo
     public static void main(String args[])
          float a=15.0f,b=20.75f,c=15.0f;
          System.out.println("a<b is "+(a<b));
          System.out.println("a>b is "+(a>b));
          System.out.println("a==c is "+(a==c));
          System.out.println("a<=c is "+(a<=c));
          System.out.println("a>=b is "+(a>=b));
          System.out.println("b!=c is "+(b!=c));
          System.out.println("b==a+c is "+(b==a+c));

Logical Operator

  • Java has following logical operators:
Operator Meaning
&& Logical AND
|| Logical OR
! Logical NOT
class LogicOprDemo
    public static void main(String args[])
         int a=15,b=30,c=15,d=30;
         if (a==c && b==d)
             System.out.println("Not Equal");
         if (a<b || a<c)
             System.out.println("A is smaller than B & C");
             System.out.println("A is greater than B & C");
             System.out.println("A & B are not equal");
             System.out.println("The value of a and b are equal");

Assignment Operator

  • Assignment operator is used to assign a value of an expression to a variable.
  • We can also use ‘shorthand’ operators for the same purpose as follow:Var_name opr = <exp>;
  • For example, x = x+ (y+1) is equivalent to x+=y+1;
Simple assignment operators Shorthand operator
x=x+1 x+=1
x=x*1 x*=1
x=x*(n+1) x*=n+1
x=x/(n+1) x/=n+1
x=x%y x%=y

Increment/ Decrement Operator

  • Java supports two increment and decrement operators: ++ and – –
  • The operator ++ increments value by 1 to the operand while – subtracts by 1.
  • Both operators can be used in the following format:
    • ++X or X++;
    • –X or X–;
  • Where, ++X is equivalent to X=X+1 and –X is equivalent to X=X-1;
  • When operator comes first before the operand then it is called prefix operator and if operator comes after operand, it is called postfix operator or notation
class incDecDemo
    public static void main(String args[])
         int x=10, y=20;

         System.out.println(“X=” + x);
         System.out.println(“Y=” + y);
         System.out.println(“++X=” + ++x);
         System.out.println(“Y++” + y++);
         System.out.println(“X=” + x);
         System.out.println(“Y=” + y);

Conditional Operators

  • Java also supports special operator “? :” known as ternary operator.
  • It is used to construct conditional expressions similar to if statement
  • It has the following form:

<exp1> ? <exp2> : <exp3>

  • Consider the following example:
  int a=10,b=15;
  if (a>b)
  • We can generate same result using ternary operator as follow:
x=(a>b) ? a: b;

Bitwise Operators

  • Java supports another special kind of operators known as bitwise operators for manipulation of data at bit level.
  • These operators are used for testing the bits, or shifting them to the right or left.
  • It may not be applied to float or double.
Operators Meaning
& Bitwise AND
| Bitwise OR
^ Bitwise Exclusive OR
~ Bitwise Unary NOT
<< Shift left
<< Shift right
  • AND (if Both operand are 1 then result is 1 else 0):
    • 0101 AND 0011 = 0001
  • OR(if Both operand are 0 then result is 0 else 1):
    • 0101 OR 0011 = 0111
  • XOR(if no. of 1 is odd then result is 1and 0 if even):
    • 0101 XOR 0011 = 0110
  • NOT(Complement )
    • NOT 0111 = 1000
  • 0111 LEFT-SHIFT = 1110 (Shifts all bits to the left)
  • 0111 RIGHT-SHIFT = 0011(Shifts all bits to the right)


Logical Bitwise Operations

A B OR (A|B) AND (A&B) XOR (A^B) ~A
0 0 0 0 0 1
1 0 1 0 1 0
0 1 1 0 1 1
1 1 1 1 0 0


  • x=12;y=10;
    z = x & y; // z is 8
  • It works as follow:

0000 1100

& 0000 1010


0000 1000 = 8 (decimal)

Special Operator

  • Java supports some special operators such as instanceof operator and member selection operator(.)

Instanceof Operator:

  • It is an object reference operator and returns true if the object on the left-hand side is an instance of the class given on the right-hand side.
  • It helps to determine whether the object belongs to a particular class or not.
  • For example, person instanceof student

is true if the object person belongs to the class student; otherwise false.

Dot operator:

  • It is used to access the instance variables and methods of class objects.
  • For example:
    • roll_no //reference to the variable roll_no
    • countPer() //reference to the method countPer()
  • It can also be used to access classes and sub-packages form a package.