我很难理解Java语中的后缀一元运算符。 我理解前缀一元运算符,但不理解后缀。 这里我举了两个例子:
//Case #1
int l = 0;
l = l++;
System.out.println(l);
//Case #2
int y = 0;
y++;
System.out.println(y);
输出为:
0
1
为什么不像第二种情况那样输出1?
行l=l++;
将首先将0赋值给l,然后将其递增。 当它击中sout时,l应该被递增,1应该被打印出来。
我不明白什么?
在第一个示例中,L
是递增的,但在此之前,您将旧值赋给它自己。
这样做的情况如下:
int old_l= l;
l++; //l is incremented
l = old_l; // you assign back the old value