Основное различие между операторами постинкремента и преинкремента заключаются в следующем:
При постинкременте вызывающий код в начале получает значение переменной, а затем значение переменной увеличивается на единицу.
При преинкременте в начале значение переменной увеличивается на единицу, а затем вызывающий код получает значение переменной.
Постинкремент:
int x = 0;
while(x != 5) {
System.out.println("post " + x++);
}
Преинкремент:
int x = 0;
while(x != 5) {
System.out.println("pre " + ++x);
}
Вывод:
post 0
post 1
post 2
post 3
post 4
pre 1
pre 2
pre 3
pre 4
pre 5