【发布时间】:2011-02-14 13:35:09
【问题描述】:
我无法对 joshua bloch 的“javauzzlers”中的以下代码做出正面或反面。
public class Test22{
public static void main(String args[]){
int j=0;
for(int i=0;i<100;i++){
j=j++;
}
System.out.println(j); //prints 0
int a=0,b=0;
a=b++;
System.out.println(a);
System.out.println(b); //prints 1
}
}
我无法得到 j 打印 0 的部分。 据作者介绍,
j=j++
类似于
temp=j;
j=j+1;
j=temp;
但是
a=b++
使 b 为 1。 所以它应该是这样评估的,
a=b
b=b+1
按照同样的逻辑,不应该
j=j++
被评估为,
j=j
j=j+1
这里的温度在哪里出现? 任何解释将不胜感激。 > 提前致谢。
【问题讨论】:
标签: java post-increment