Java operators

Operators are symbols that perform operations on variables and values. For example, + is an operator used for addition, while * is also an operator used for multiplication.

Operators in Java can be classified into 5 types:

  1. Arithmetic operators
  2. Assignment operators
  3. Relational operators
  4. Logical operators
  5. Unary operators
  6. Bitwise operators

1. Java arithmetic operators

Arithmetic operators are used to perform arithmetic operations on variables and data. For example,

a + b; 

Here the + operator is used to add two variables a and b. Likewise, there are various other arithmetic operators in Java.

Operator

Operation

+

Addition

-

Subtraction

*

Multiplication

/

Division

%

Modulo Operation (Remainder after division)

Example 1: Arithmetic operators

class Main {
  public static void main(String[] args) {
    
    // declare variables
    int a = 12, b = 5;

    // addition operator
    System.out.println("a + b = " + (a + b));

    // subtraction operator
    System.out.println("a - b = " + (a - b));

    // multiplication operator
    System.out.println("a * b = " + (a * b));

    // division operator
    System.out.println("a / b = " + (a / b));

    // modulo operator
    System.out.println("a % b = " + (a % b));
  }
}

Output

a + b = 17
a - b = 7 
a * b = 60
a / b = 2 
a % b = 2 

In the example above, we used the +- and * operators to calculate the addition, subtraction and multiplication operations.

/ Division operator

Note the operation, a / b in our program. The/operator is the division operator.

If we use the division operator with two integers, then the resulting quotient will also be an integer. And, if one of the operands is a floating point number, we will get the result will also be floating point.

In Java,

(9 / 2) is 4
(9.0 / 2) is 4.5
(9 / 2.0) is 4.5
(9.0 / 2.0) is 4.5

% Modulo operator

The modulo % operator calculates the remainder. When a = 7 is divided by a = 7, the remainder is 3.

Note: The % operator can only be used with integers.

2. Java assignment operators

Assignment operators are used in Java to assign values ​​to variables. For example,

int age;
age = 5;

Here, = is the assignment operator. It assigns the value on its right to the variable on its left. In other words, 5 is assigned to varying age.

Let's see some other assignment operators available in Java.


OperatorExampleEquivalent to
=a = b;a = b;
+=a += b;a = a + b;
-=a -= b;a = a - b;
*=a *= b;a = a * b;
/=a /= b;a = a / b;
%=a %= b;a = a % b;

Example 2: Assignment Operators

class Main {
  public static void main(String[] args) {
    
    // create variables
    int a = 4;
    int var;

    // assign value using =
    var = a;
    System.out.println("var using =: " + var);

    // assign value using =+
    var += a;
    System.out.println("var using +=: " + var);

    // assign value using =*
    var *= a;
    System.out.println("var using *=: " + var);
  }
}
Output

var using =: 4
var using +=: 8 
var using *=: 32

3. Java relational operators

Relational operators are used to check the relationship between two operands. For example,

// check is a is less than b
a < b;
Here, the> operator is the relational operator. It checks whether a is less than b or not.

It returns true or false.

OperatorDescriptionExample
==Is Equal To3 == 5 returns false
!=Not Equal To3 != 5 returns true
>Greater Than3 > 5 returns false
<Less Than3 < 5 returns true
>=Greater Than or Equal To3 >= 5 returns false
<=Less Than or Equal To3 <= 5 returns false

Example 3: Relational Operators

class Main {
  public static void main(String[] args) {
    
    // create variables
    int a = 7, b = 11;

    // value of a and b
    System.out.println("a is " + a + " and b is " + b);

    // == operator
    System.out.println(a == b);  // false

    // != operator
    System.out.println(a != b);  // true

    // > operator
    System.out.println(a > b);  // false

    // < operator
    System.out.println(a < b);  // true

    // >= operator
    System.out.println(a >= b);  // false

    // <= operator
    System.out.println(a <= b);  // true
  }
}
Note: Relational operators are used in decision making and loops.

4. Java logical operators

Logical operators are used to check whether an expression is true or false. They are used in decision making.

OperatorExampleMeaning
&& (Logical AND)expression1 && expression2true only if both expression1 and expression2 are true
|| (Logical OR)expression1 || expression2true if either expression1 or expression2 is true
! (Logical NOT)!expressiontrue if expression is false and vice versa

Example 4: Logical Operators

class Main {
  public static void main(String[] args) {

    // && operator
    System.out.println((5 > 3) && (8 > 5));  // true
    System.out.println((5 > 3) && (8 < 5));  // false

    // || operator
    System.out.println((5 < 3) || (8 > 5));  // true
    System.out.println((5 > 3) || (8 < 5));  // true
    System.out.println((5 < 3) || (8 < 5));  // false

    // ! operator
    System.out.println(!(5 == 3));  // true
    System.out.println(!(5 > 3));  // false
  }
}
Working of Program

  • (5 > 3) && (8 > 5) returns true because both (5 > 3) and (8 > 5) are true.
  • (5 > 3) && (8 < 5) returns false because the expression (8 < 5) is false.
  • (5 > 3) || (8 > 5) returns true because the expression (8 > 5) is true.
  • (5 > 3) && (8 > 5) returns true because the expression (5 > 3) is true.
  • (5 > 3) && (8 > 5) returns false because both (5 < 3) and (8 < 5) are false.
  • !(5 == 3) returns true because 5 == 3 is false.
  • !(5 > 3) returns false because 5 > 3 is true.

5. Java unary operators

Unary operators are used with a single operand. For example, ++ is a unary operator that increases the value of a variable by 1. That is, ++5 will return 6.

The different types of unary operators are:

OperatorMeaning
+Unary plus: not necessary to use since numbers are positive without using it
-Unary minus: inverts the sign of an expression
++Increment operator: increments value by 1
--Decrement operator: decrements value by 1
!Logical complement operator: inverts the value of a boolean

Increment and decrement operators

Java also provides increment and decrement operators: ++ and -- respectively. ++ increases the operand value by 1, while -- decreases it by 1. For example,

int num = 5;

// increase num by 1
++num;
Here, the value of num is increased to 6 from its initial value of 5.

Example 5: Increment and Decrement Operators

class Main {
  public static void main(String[] args) {
    
    // declare variables
    int a = 12, b = 12;
    int result1, result2;

    // original value
    System.out.println("Value of a: " + a);

    // increment operator
    result1 = ++a;
    System.out.println("After increment: " + result1);

    System.out.println("Value of b: " + b);

    // decrement operator
    result2 = --b;
    System.out.println("After decrement: " + result2);
  }
}
Output

Value of a: 12
After increment: 13
Value of b: 12     
After decrement: 11
In the program above, we used the operators ++ and - as prefixes (++ a, --b). We can also use these operators as a postfix (a ++, b ++).

There is a slight difference when these operators are used as a prefix compared to when they are used as a suffix.

6. Bitwise Java operators

Bitwise operators in Java are used to perform operations on individual bits. For example,

Bitwise complement Operation of 35

35 = 00100011 (In Binary)

~ 00100011 
  ________
   11011100  = 220 (In decimal)
Here, ~ is a bitwise operator. It reverses the value of each bit (0 to 1 and 1 to 0).

The different bit by bit operators present in Java are:

OperatorDescription
~Bitwise Complement
<<Left Shift
>>Right Shift
>>>Unsigned Right Shift
&Bitwise AND
^Bitwise exclusive OR

These operators are not generally used in Java

Other operators

Besides these operators, there are other additional operators in Java.

Java instanceof operator

The instanceof operator checks whether an object is an instance of a particular class. For example,

class Main {
  public static void main(String[] args) {

    String str = "Programiz";
    boolean result;

    // checks if str is an instance of
    // the String class
    result = str instanceof String;
    System.out.println("Is str an object of String? " + result);
  }
}
Output

Is str an object of String? true

Here, str is an instance of the String class. Therefore, the instanceof operator returns true

Java ternary operator

The ternary operator (conditional operator) is a shorthand for the if-then-else statement. For example,

variable = Expression ? expression1 : expression2
This is how it works.
  • If the Expression is trueexpression1 is assigned to the variable.
  • If the Expression is falseexpression2 is assigned to the variable.
Let's see an example of a ternary operator.

class Java {
  public static void main(String[] args) {

    int februaryDays = 29;
    String result;

    // ternary operator
    result = (februaryDays == 28) ? "Not a leap year" : "Leap year";
    System.out.println(result);
  }
}
Output

Leap year

In the example above, we used the ternary operator to check if the year is a leap year or not.

Comments

Most View Post

Java Data Types (Primitive)

Java Introduction

Java Basic Input and Output

Java Expressions, Statements and Blocks

Java JDK, JRE and JVM