Обратите внимание, что во всех случаях присвоение k перезаписывает любое увеличение, которое может произойти с правой стороны.
Размещение комментариев в строке:
int k = 12;
k += k++;
System.out.println(k); // 24
k++
означает приращение после , когда вы использовали значение, так что это то же самое, что и кодирование k = 12 + 12
k = 12;
k += ++k;
System.out.println(k); // 25
++k
означает приращение до вы используете значение, так что это то же самое, что и кодирование k = 12 + 13
k = 12;
k = k + k++;
System.out.println(k); // 24
k++
означает приращение после того, как вы использовали значение, так что это то же самое, чтокодирование k = 12 + 12
k = 12;
k = k++ + k;
System.out.println(k); // 25
k++
означает приращение после того, как вы использовали значение, так что это то же самое, что и кодирование k = 12 + 13
k = 12;
k = k + ++k;
System.out.println(k); // 25
++k
означает приращение до того, как вы используете значение, так что это то же самое, что и кодирование k = 12 + 13
k = 12;
k = ++k + k;
System.out.println(k); // 26
++k
означает приращение до васиспользуйте значение, которое затем используется снова, так что это то же самое, что и кодирование k = 13 + 13