++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); } } |
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