public class Inc
{
public static void main(String args[])
{
Inc inc = new Inc();
int i = 0;
inc.fermin(i);
i=i++;
System.out.println(i);
}
void fermin(int i)
{
i++;
}
}
问输出多少?
答案是:0;
我的理解:
先关注下++的重载,JAVA里没看过,记得c++里是这样的
int temp = i;
i = i+1;
return temp;
右++之所以后算,并不是因为它的优先级低,而是经过了上述的操作,本质上讲,它的优先级跟左++是一样的经,比=优先级高,只是看起来优先级低了。
对于i=i++而言, 翻译一下应该是这样:
int temp = i;
i = i + 1; //i=1
i = temp;//i = temp = 0;
本文转自 dogegg250 51CTO博客,原文链接:http://blog.51cto.com/jianshusoft/641018,如需转载请自行联系原作者