Поиск постфиксного выражения в Java

class A
{
   public static void main(String[] args)
   {
       int i=6;
       i=i++ + i++ + i++ +i++;
       i=i++;
       System.out.println(i);
   }
}

Вывод: вывод вышеуказанной программы - 30 . Может кто-нибудь объяснить мне, как это?

1 ответ

Помните, что java оценивает членов операции слева направо.

Когда вы выполните это:

int i=6;
i=i++ + i++ + i++ +i++;

это значит:

int i=6;
i= 6 (but we add 1 to i in the right member => curr i=7) + 7 (we add 1 to i after this operation) + 8 + 9

Так что я = 6 + 7 + 8 + 9 = 30

Обратите внимание, что i = i++; не меняет значение i.

Другие вопросы по тегам