# What is the Difference Between i++ and ++i in Java?

• Difficulty Level : Basic
• Last Updated : 07 Jan, 2021

++i and i++ both increment the value of i by 1 but in a different way. If ++ precedes the variable, it is called pre-increment operator and it comes after a variable, it is called post-increment operator.

Increment in java is performed in two ways,

1) Post-Increment (i++): we use i++ in our statement if we want to use the current value, and then we want to increment the value of i by 1.

2) Pre-Increment(++i): We use ++i in our statement if we want to increment the value of i by 1 and then use it in our statement.

Example

```int i = 3;
int a = i++; // a = 3, i = 4
int b = ++a; // b = 4, a = 4```

Example 1

## Java

 `// Java program to demonstrate pre and post increment ` `// operators ` ` `  `import` `java.io.*; ` ` `  `class` `GFG { ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``// initialize i ` `        ``int` `i = ``0``; ` `        ``System.out.println(``"Post-Increment"``); ` ` `  `        ``// i values is incremented to 1 after returning ` `        ``// current value i.e; 0 ` `        ``System.out.println(i++); ` ` `  `        ``// initialized to 0 ` `        ``int` `j = ``0``; ` `        ``System.out.println(``"Pre-Increment"``); ` ` `  `        ``// j is incremented to 1 and then it's value is ` `        ``// returned ` `        ``System.out.println(++j); ` `    ``} ` `}`

Output

```Post-Increment
0
Pre-Increment
1```

Example 2: Cannot apply the increment operator (++) on a constant value

## Java

 `// Applying increment operator on a constant value ` ` `  `import` `java.io.*; ` ` `  `class` `GFG { ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` ` `  `        ``int` `x = ++``10``; ` ` `  `        ``System.out.println(``"Hello"``); ` `    ``} ` `}`

Output

```prog.java:8: error: unexpected type
int x = ++ 10;
^
required: variable
found:    value
1 error```

My Personal Notes arrow_drop_up
Related Articles