62,614
社区成员
发帖
与我相关
我的任务
分享
int i = 0;
i = i++ + 2;
System.out.println(i);
//输出2
讲解:
i的初始值为0,在i = i++ + 2 中首先取得i的值(0)作为i++表达式(假设此表达式命名为x)的值,然后进行++操作,完成后i的值为1,然后计算x+2的值也就是(0+2),最后将(0+2)赋值给i。所以赋值完成后i的值又由(1)变为了(2)
int i = 0;
i = i++;
System.out.println(i);
//输出0
案例讲解:
i的初始值为0,在i = i++ 中首先取得i的值(0)作为将要赋值的表达式的值,然后进行++操作,完成后i的值为1,最后进行赋值操作,注意,赋值不是赋i的值(1),而是赋表达式的值(0)。所以赋值完成后i的值又由(1)变为了(0)
不知道说清楚了没,重点:赋值操作是赋表达式的值