++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
