java中的递减和赋值运算符

时间:2016-02-01 14:14:45

标签: java core

有人可以解释为什么以下代码的输出为1.

int i = 1;
i=i--;
System.out.println(i); // 1

1 个答案:

答案 0 :(得分:5)

i--执行以下步骤:

  • 返回i
  • 的值
  • 递减i 1

所以语句i = i--执行以下操作:

    返回
  • i(语句现在等于i = 1
  • i递减(我现在为0)
  • 声明(作业)现已完成(i = 1

最后i是1

为了更清楚一点,您可以说行i = i--;与此代码几乎相同:

int j = i;
i = i-1;
i = j;