Increment and Decrement Operator

By: aathishankaran  

Increment and Decrement Operator


            The ++ and the – are java’s increment and decrement operators. They were introduced in previous article. Here they will be discussed in detail. As you will see, they have some special properties that make them quite interesting. Let’s begin by reviewing precisely what the increment and decrement operators do.


            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 for the increment operator:




            Similarly, this statement:


     x = x –1;


is equivalent to




These operators are unique in that they can appear both in postfix form, where they follow the operand as just shown, and prefix form, where they precede the operand. in foregoing examples, there is no difference between the prefix and postfix forms. However, when the increment and / pr decrement operators are part of a larger expression, then a subtle, yet powerful, difference between these two forms appears. In the prefix form, the operand is incremented or decremented before the value is obtained for use in the expression. In postfix form, the previous value is obtained for use in the expression, and then the operand is modified. For example:


            x = 42;

            y = ++x;


In this case, y is set to 43 as you would expect, because the increment occurs before x is assigned to y. thus, the line y=++x; is the equivalent of these two statements:


            x = 42;

            y = x++;


The value of x is obtained before the increment operator is executed, so the value of y is 42. Of course, in both cases x is set to 43. Here, the line y = x++; is the equivalent of these two statements:


            y =x;

            x = x + 1;


The following program demonstrates the increment operator.


// Demonstrate ++.

class InDec {

     public static void main (String args[]) {

          int a = 1;

          int b = 2;

          int c;

          int d;

          c = ++b;

          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 = 4

     d = 1



Archived Comments

1. Answer of comment no 14 is 165
View Tutorial          By: Kawaljit kaur at 2016-08-12 16:07:07

2. Answer of 14 comment is 115
View Tutorial          By: Kawaljit kaur at 2016-08-10 15:13:37

3. 187
View Tutorial          By: HAJIARA at 2016-01-13 13:32:12

4. what will be the answer of this?
int y=10;
int z=(++y*(y+++5)

View Tutorial          By: divye at 2015-03-20 09:05:46

5. COOL...........Nice ,understanding .simple i like it man $$$$$$
View Tutorial          By: DON at 2014-06-12 16:48:46

6. good explanation.
<a href="

View Tutorial          By: aksingh at 2013-07-05 12:35:45

7. why java from two to the power 7 bit was upgraded to two to the 8 bit
View Tutorial          By: avinash at 2013-05-28 08:34:24

8. is it possible to change the increment variable?
View Tutorial          By: Lundi at 2013-04-08 21:21:13

9. Answer for comment 5
this loop is work infinitely until the variables (used in loop) have com

View Tutorial          By: salman at 2013-03-10 07:30:53

10. this code is running successfully
View Tutorial          By: Amit Agarwal at 2013-03-08 10:56:39

11. class Evaluate
public static void main(String args[])

int y=

View Tutorial          By: prajjawal at 2013-02-27 12:36:58

12. Thanks this helped me heap
View Tutorial          By: Linda at 2012-09-01 01:29:40

13. Dude, that LOOP wont work i cant even understand what you are trying to do the loop cant go negative
View Tutorial          By: Rohan at 2012-02-16 17:04:06

14. Dude, that LOOP wont work i cant even understand what you are trying to do the loop cant go negative
View Tutorial          By: Rohan at 2012-02-16 17:01:06

15. Answer for Comment 4 :

" n=n++ ; " is a useless line !! it doesn't do anyth

View Tutorial          By: NewB_of_java at 2012-02-16 16:52:05

16. j = 0;
i = 0;

View Tutorial          By: alistair at 2012-01-28 06:05:48

17. sir, in this example,which value of n is being stored in the memory location?
i mean its n=n+

View Tutorial          By: shivom at 2012-01-15 07:16:49

18. But dear sajid after postfix when n=0 then after time to run postfix e.g n++ so it should increment
View Tutorial          By: Deepak at 2011-09-27 15:43:42

19. this is because dear u r using here postfix increment n++ this postfix assigned value 0 to n always
View Tutorial          By: sajid at 2011-09-06 20:51:54

20. int n = 0;
for (int m = 0; m < 5; m++) {
n = n++;

View Tutorial          By: max at 2011-05-26 09:41:26

21. i really have to thank you for the wonderful fluidity in explaining this really helped me
View Tutorial          By: Joel Pereira at 2011-03-19 22:08:58

Most Viewed Articles (in Java )

Latest Articles (in Java)

Comment on this tutorial