Java Compound Assignment Operators

java-Logo
Java Tutorials
Java Environment
Environment Setup
Declaration & Assignments
Flow Control
Miscellaneous
Java OOPs

Java provides some special Compound Assignment Operators, also known as Shorthand Assignment Operators. It's called shorthand because it provides a short way to assign an expression to a variable.

This operator can be used to connect Arithmetic operator with an Assignment operator.

For example, you write a statement:

a = a+6;

In Java, you can also write the above statement like this:

a += 6;

There are various compound assignment operators used in Java:

OperatorMeaning
+=Increments then assigns
-=Decrements then assigns
*=Multiplies then assigns
/=Divides then assigns
%=Modulus then assigns
<<=Binary Left Shift  and assigns
>>=Binary Right Shift and assigns
>>>=Shift right zero fill and assigns
&=Binary AND assigns
^=Binary exclusive OR and assigns
|=Binary inclusive OR and assigns

While writing a program, Shorthand Operators saves some time by changing the large forms into shorts; Also, these operators are implemented efficiently by Java runtime system compared to their equivalent large forms.

Programs to Show How Assignment Operators Works

Example:
//Programs to Show How Assignment and Compound Assignment Operators Works
public class assignmntop {
 public static void main(String[] args) {

  //Simple assigns
  byte bt = 24;
  System.out.println("bt: " + bt);
  
  //Increments then assigns
  bt += 10;
  System.out.println("bt: " + bt);
  
  //Decrements then assigns
  bt -= 2;
  System.out.println("bt: " + bt);
  
  //Multiplies then assigns
  bt *= 2;
  System.out.println("bt: " + bt);
  
  //Divides then assigns
  bt /= 2;
  System.out.println("bt: " + bt);
  
  //Modulus then assigns
  bt %= 7;
  System.out.println("bt: " + bt);
  
  //Binary Left Shift  and assigns
  bt <<= 3;
  System.out.println("bt: " + bt);

  //Binary Right Shift and assigns
  bt >>= 4;
  System.out.println("bt: " + bt);
  
  //Shift right zero fill and assigns
  bt >>>= 1;
  System.out.println("bt: " + bt);
  
  //Binary AND assigns
  bt &= 4;
  System.out.println("bt: " + bt);
  
  //Binary exclusive OR and assigns
  bt ^= 4;
  System.out.println("bt: " + bt);
  
  //Binary inclusive OR and assigns
  bt |= 4;
  System.out.println("bt: " + bt);
 }
}
Output:
bt: 24
bt: 34
bt: 32
bt: 64
bt: 32
bt: 4
bt: 32
bt: 2
bt: 1
bt: 0
bt: 4
bt: 4

Scroll Back to Top