# Increment and Decrement Operators

• `++` and `--` are Java's increment and decrement operators.
• The increment operator, `++`, increases its operand by one.
• The decrement operator, `--`, decreases its operand by one.

For example, this statement:

``````
x = x + 1;
``````

can be rewritten like this by use of the increment operator:

``````
x++;
``````

This statement:

``````
x = x - 1;
``````

is equivalent to

``````
x--;
``````

The increment and decrement operators are unique in that they can appear both in postfix form and prefix form.

In the postfix form they follow the operand, for example, i++.
In the prefix form, they precede the operand, for example, --i.

The difference between these two forms appears when the increment and/or decrement operators are part of a larger expression.

In the prefix form, the operand is incremented or decremented before the value is used in the expression. In postfix form, the value is used in the expression, and then the operand is modified.

## Examples of Pre-and Post- Increment and Decrement Operations

Initial Value of xExpressionFinal Value of yFinal Value of x
5y = x++56
5y = ++x66
5y = x--54
5y = --x44

For example:

``````
x = 42;
y = ++x;
``````

y is set to 43, because the increment occurs before x is assigned to y. Thus, the line

``````y = ++x;
``````

is the equivalent of these two statements:

``````
x = x + 1;
y = x;
``````

However, when written like this,

``````
x = 42;
y = x++;
``````

the value of x is obtained before the increment operator is executed, so the value of y is 42.

In both cases x is set to 43. The line

``````
y = x++;
``````

is the equivalent of these two statements:

``````
y = x;
x = x + 1;
``````

The following program demonstrates the increment operator.

``````
public class Main {

public static void main(String args[]) {
int a = 1;
int b = 2;
int c = ++b;
int d = a++;

System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
System.out.println("d = " + d);

}
}
``````

The output of this program follows:

``````
a = 2
b = 3
c = 3
d = 1``````