首页 > 代码库 > java 中++ -- 问题

java 中++ -- 问题


wKioL1Nq-ZqyCfBZAAGl81h3H8s559.jpg

问题的关键是java中表达式的执行顺序: 从左向右执行  所以表达式必须先将右面的值计算完成之后才能将值付给左面(谨记这一点!)


关键的一步:j=j++;

理解:一、先取值:将j的值作为j++表达式的值

     二、再++:将j的值自增1

     三、再赋值:将j++表达式的值,即j的值(0)赋值给 j

(因为右面的表达式是先找到j  ,而不是++ 所以先取值,而不是先++)

同理:理解 j=++j;(一般这么写  只是为了理解 ++在前和在后的区别)

    一、先++:将j的值自增1;

    二、在取值:将++j的值作为 右面表达式的值

    三、再赋值:将右面表达式的值赋值给j

(因为右面表达式先找到的是++,所以先++,后取值)


--同理