Многие новички не знают что такое инкремент и декремент, но уверен все видели использование "i++, ++i, i-- или --i" в цикле for.
И так немного пояснении. Инкремент: Обозначается двумя знаками плюс "++" и увеличивает значение переменной на 1 Декремент: Обозначается двумя знаками минус "--" и уменьшает значение переменной на 1 Пример:
int x = 10, z = 10;
x++;
z--;

System.out.println("x: " + x + ", z: " + z);
В результате:
  • x будет инкрементирована
  • z будет декрементирована
Это значит что x будет равна 11, а x будет равно 9. По факту можно писать и так
int x = 10, z = 10;
x = x + 1;
z = z - 1;

System.out.println("x: " + x + ", z: " + z);
но зачем писать лишнее если нам нужно увеличить или уменьшить переменную всего на 1. Хорошо, что такое и инкрементирование и декрементирование разобрались, но это еще не все. У инкремента и декремента есть 2 формы, prefix и postfix. О боже что это, подумали Вы?) Не пугайтесь тут тоже все легко. Prefix или Префиксная форма описывается перед переменной "++x или --x", изначально икрементирует или декрементирует переменную. (От слова Pre в переводе перед) Postfix или Постфиксная форма описывается после переменной "x++ или x--", икрементирует или декрементирует переменную после вычисления. (От слова Post в переводе после) Если Вы обратили внимание на слово вычисления то не зря, так как обе формы работают аналогично если не используются в вычислениях. Вот Вам пример без вычислении:
int x = 10, z = 10;
x++;
++z;

System.out.println("x: " + x + ", z: " + z);
В результате обе переменные будут равны 11. А вот пример с вычислением:
int x = 10, c = 10;
final int y = 13 - x++;
final int z = 13 - ++c;

System.out.println("y: " + y + ", z: " + z);
Как видите обе переменные "x и c" равны и уравнения аналогичны НО используются разные формы инкрементации. В результате вычислении переменная y будет 3, а вот z будет 2 Вы уже наверное догадались почему исходя из того что я писал чуть выше, если нет то давайте жевать вместе. Постфиксная форма сработает после вычислении, а это значит что уравнение сработает так:
x = 10;

// Начало уравнения.
y = 13 - x; // С начала производим вычисление (x все еще 10)
x += 1; // Производим увеличение на 1
// Конец уравнения.
Префиксная же сработает так:
c = 10;

// Начало уравнения.
c += 1; // Производим увеличение на 1
z = 13 - c; // Производим вычисление (c уже 11)
// Конец уравнения.
Ну вот и вся история :) Надеюсь для Вас это было полезно и познавательно. Успехов в освоении Java ;) PS: Многого еще не написал но увы времени пока нет на продолжение, но если кому то будет интересно и появится время напишу вторую статью продолжение.