5 minute read

An Operator is a symbol that allows a program to perform certain operation (like arithmetic or logical) on data and variables

1. Arithmetic (*, /, %, +, -, ++, --)
2. Assignment (=, +=, -=, *=, /=, %=)
3. Relational (==, !=, <, >, <=, >=)
4. Instance of (instance of)
5. Logical (&, &&, |, ||, ^, !)
6. Conditional (?:)

Depending on the no. of operands ,operator can be of the following three types

  1. Unary Operator: It takes one operand, such as ++x, y–. Here x and y are variables, while ++ and – are operators.
  2. Binary Operator: It takes two operands, such as x + y, x > y. Here x and y are while + and > are operators.
  3. Ternary Operator: It takes three operands. z = x > y ? x : y. Here x, y and z are variables while ?: is an operator

Arithmetic operators

class Demo7{

    public static void main(String[] args){
        int i,j,k;
        i = 30;
        j = 20;
        
        k = i + j;
        System.out.println("Addition of i and j is " + k);

        k = i - j;
        System.out.println("Diff of i and j is " + k);

        k = i * j;
        System.out.println("Product of i and j is " + k);

        k = i / j;
        System.out.println("Division of i and j is " + k);
    }
}
class Demo08{
public static void main(String[] args){
int num1 = 18;
int num2 = 4;
int quotient = num1 / num2;
int remainder = num1 % num2;

        System.out.println("num1 / num2 =  " + quotient);
        System.out.println("num1 % num2 =  " + remainder);
    }
}

Assignment operators

The equal(=) symbol is known as the assignment operator. The assignment operator(=) is used to store or assign a value to a variable.

Eg:
x = 10; // x stores 10
x = x + 10; // x stores 20
x = x + 5 * 20; // x stores 120
x = (x + 5) * 20; // x stores 2500

In compound assignment operator we have +=, -=, *=, /= and %=

Eg:
i = 10 ; // i is initialized with the value 10
i += 15; // i is compound assigned with 25 (i = i + 15)
i -= 5; // i is compound assigned with 20 (i = i - 5)
class Demo9{
    public static void main(String[] args){
        int i=2, j=3, k=4, l=25, m=7;

        i += 25;
        System.out.println(i);

        j *= 6;
        System.out.println(j);

        k /= 2;
        System.out.println(k);

        l -= 10;
        System.out.println(l);

        m %= 5;
        System.out.println(m);
    
    }
}

Relational Operators

operator                Description

==                  equal to
!=                  not equal to
<                   lesser than
>                   greater than
<=                  lesser than or equal to
>=                  greater than or equal to
class Demo10{
    public static void main(String[] args){
        int x = 5;
        int y = 8;
        int z = 10;
        boolean b1 = x >= y;
        boolean b2 = x >= y && z >=y;
        
        System.out.println("b1= " + b1 + " b2= " + b2);
    }
}
class Demo11{
    static int i=10;
    static int j=20;

    public static void main(String[] args){
        if(i == j){
            System.out.println("the values " + i + "and " + j + "are equal");
        }
        if(i !=j){
            System.out.println("the values " + i + "and " + j + "are not equal");
        }
        if(i < j){
            System.out.println("the value " + i + " is lesser than " + j);
        }
        if(i > j){
            System.out.println("the value " + i + " is greater than " + j);
        }
    }
}

Object equality

The relational equality operator (==) and (!=) can also used to compare the reference of the two objects

obj1 == obj2 // means that ob1 and obj2 are equal and have same object reference

instance of operator

The instance of a operator is a binary operator that checks whether an object is of a particular type(here, type can be class, interface or an array). It is used for object reference variable only

class Demo12{

    public static void main(String[] args){
        StringBuffer sb = new StringBuffer("Hello world");

        if(sb instanceof StringBuffer){
            System.out.println("sb is an instance of String buffer");
        }else{
            System.out.println("sb is not an instance of String Buffer");
        }
    }
}

Logical operators

Logical operators are && , ||, !, &, |. The operators || and && evaluate only boolean values. The not(!) operator returns the opposite of the current value of the boolean operand.

Conditional operators or ternary operand: The conditional operator (?:) is a ternary operator that takes three operands. It works similar to if-else statement.

ex: 
int i=20, j=25;
boolean test = false;
test = i > j ? true : false;

program:

class Demo14{ 
    public static void main(String[] args){
        int i = 20;
        int j = 25;

        boolean test = false;
        test = i > j ? true :false;
        System.out.println(test);
    }
}

Unary Operators

  1. ++ increment operator (post increment, pre increment)
  2. – decrement operator (post decrement, pre decrement)
    int x = 5;
    int j;
    j = x++;
    j = ++x;
class  Demo15{ 
    public static void main(String[] args){
        System.out.println("Main starts");
        int i = 0;
        int j;
        j = i++; // j = i; i=i+1;
        System.out.println("i = " + i);
        System.out.println("j = " + j);
        System.out.println("Main ends");
    }
}
class Demo16{
    public static void main(String[] args){
        System.out.println("Main starts");
        int i=0;
        int j=0;
        System.out.println("i = " + i++);
        System.out.println("i = " + i++);
        System.out.println("i = " + i);
        System.out.println("Main ends");
    }
}
class Demo17{
    public static void main(String[] args){
        System.out.println("Main starts");
        int i=0;
        int j=0;
        j = i + i++ + i + i++;
        System.out.println("i = " + i);
        System.out.println("j = " + j);
        System.out.println("Main ends");
    }
}
class Demo18{
    public static void main(String[] args){
        System.out.println("Main starts");
        int i = 0;
        int j = 0;
        j = ++i;
        System.out.println("i = " + i);
        System.out.println("j = " + j);
        System.out.println("Main ends");
    }
}
class Demo19{
    public static void main(String[] args){
        System.out.println("Main starts");
        int i = 0;
        int j = 1;
        int k = i + j++ + ++i + ++j + i++;
        System.out.println("i = " + i);
        System.out.println("j = " + j);
        System.out.println("k = " + k);
        System.out.println("Main ends");
    }
}

Updated: