@koshiii

Как правильно работать с преинкрементом и постинкрементом?

Не могу никак понять как правильно работать с этими операторами

int i = 2;
i = i++;
System.out.println(i); // 2
i = i++;
System.out.println(i); // 2

int j = 7;
j = ++j;
System.out.println(j); // 8
j = ++j;
System.out.println(j); // 9
  • Вопрос задан
  • 11506 просмотров
Пригласить эксперта
Ответы на вопрос 4
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
int i=3; 
int a=i++; //a=3
int b=i; //b=4

int i=3; 
int a=++i; //a=4
int b=i; //b=4
Ответ написан
Комментировать
AloneCoder
@AloneCoder
[object Object]
Зачем вы присваиваете значения
Все верно работает.
Постикремент увеличивает на единицу, но возвращает исходное значение
Преинкремент увелечивает на единицу и возвращает новое значение
Ответ написан
Комментировать
@Flasher
int t = 1;
System.out.println(++t); //2
int e = 1;
System.out.println(e++); //1
System.out.println(e); //2
Ответ написан
Комментировать
@IgorBond
Основное различие между операторами постинкремента и преинкремента заключаются в следующем:
При постинкременте вызывающий код в начале получает значение переменной, а затем значение переменной увеличивается на единицу.
При преинкременте в начале значение переменной увеличивается на единицу, а затем вызывающий код получает значение переменной.

Постинкремент:
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
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы