问题的关键是java中表达式的执行顺序: 从左向右执行 所以表达式必须先将右面的值计算完成之后才能将值付给左面(谨记这一点!)
关键的一步:j=j++;
理解:一、先取值:将j的值作为j++表达式的值
二、再++:将j的值自增1
三、再赋值:将j++表达式的值,即j的值(0)赋值给 j
(因为右面的表达式是先找到j ,而不是++ 所以先取值,而不是先++)
同理:理解 j=++j;(一般这么写 只是为了理解 ++在前和在后的区别)
一、先++:将j的值自增1;
二、在取值:将++j的值作为 右面表达式的值
三、再赋值:将右面表达式的值赋值给j
(因为右面表达式先找到的是++,所以先++,后取值)
--同理
时间: 2024-10-18 20:56:20