VOOZH about

URL: https://www.geeksforgeeks.org/java/java-assignment-operator-with-examples/

⇱ Java Assignment Operators with Examples - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Java Assignment Operators with Examples

Last Updated : 28 Apr, 2026

Assignment operators in Java are used to assign values to variables and simplify expressions. They include both simple (=) and compound operators (like +=, -=), which combine operations with assignment. These operators help write cleaner and more concise code while handling value updates efficiently.

  • Supports both simple (=) and compound (+=, -=, *=, /=, %=) assignments.
  • Compound operators perform implicit type casting in some cases.
  • Reduces code length by combining operation and assignment in one step.

Types of Assignment Operators in Java

The Assignment Operator is generally of two types. They are:

1. Simple Assignment Operator

The Simple Assignment Operator is used with the “=” sign where the left side consists of the operand and the right side consists of a value. The value of the right side must be of the same data type that has been defined on the left side.

2. Compound Assignment Operator

The Compound Operator is used where +,-,*, and / is used along with the = operator.

Below is an explanation of each assignment operator and its working

1. (=) operator

This is the most straightforward assignment operator, which is used to assign the value on the right to the variable on the left. This is the basic definition of an assignment operator and how it functions. 

Syntax:

num1 = num2;


Output
num is assigned: 10
name is assigned: GeeksforGeeks

2. (+=) operator

This operator is a compound of '+' and '=' operators. It operates by adding the current value of the variable on the left to the value on the right and then assigning the result to the operand on the left. 

Syntax:

num1 += num2;


Output
num1 = 10
num2 = 20
num1 = 30

Note: In Java, the compound assignment operator (+=) performs implicit type casting.

  • x = x + 4.5; -> gives a compile-time error (double -> int conversion not allowed).
  • x += 4.5; -> works because it automatically casts the result to int, giving output 9.

3. (-=) operator

This operator is a compound of '-' and '=' operators. It operates by subtracting the variable's value on the right from the current value of the variable on the left and then assigning the result to the operand on the left. 

Syntax:

num1 -= num2;


Output
num1 = 10
num2 = 20
num1 = -10

4. (*=) operator

 This operator is a compound of '*' and '=' operators. It operates by multiplying the current value of the variable on the left to the value on the right and then assigning the result to the operand on the left. 

Syntax:

num1 *= num2;


Output
num1 = 10
num2 = 20
num1 = 200

5. (/=) operator 

This operator is a compound of '/' and '=' operators. It operates by dividing the current value of the variable on the left by the value on the right and then assigning the quotient to the operand on the left. 

Syntax:

num1 /= num2;


Output
num1 = 20
num2 = 10
num1 = 2

6. (%=) operator

This operator is a compound of '%' and '=' operators. It operates by dividing the current value of the variable on the left by the value on the right and then assigning the remainder to the operand on the left. 

Syntax:

num1 %= num2;


Output
num1 = 5
num2 = 3
num1 = 2

7. (&=) Bitwise AND and Assign

Performs bitwise AND operation and assigns the result. Works at binary level on bits of numbers.

Syntax:

variable &= value;


Output
1

8. (|=) Bitwise OR and Assign

Performs bitwise OR operation and assigns the result. Sets bits where either operand has 1.

Syntax:

variable |= value;


Output
7

9. (^=) Bitwise XOR and Assign

Performs bitwise XOR and assigns the result. Sets bit to 1 only when bits are different.

10. (<<=) Left Shift and Assign

Shifts bits to the left and assigns the result. Equivalent to multiplying by powers of 2.

Syntax:

variable <<= value;


Output
10

11. (>>=) Right Shift and Assign

Shifts bits to the right and assigns the result. Equivalent to dividing by powers of 2.

Syntax:

variable >>= value;


Output
4
Comment
Article Tags: