Java语法、语言特性与机制 2011-01-22 19:11:11 阅读0 评论0 字号:大中小 订阅 请问以下程序会输出什么?
public class Test2 {
public static void main(String[] args) {
int j = 0;
for (int i = 0; i < 100; i++) {
j = j++;
}
System.out.println(j);
}
}
是0
因为java用了中间缓存变量的机制
j=j++;可换成如下写法。
temp=j; //j++结果
j=j+1; //左侧计算完成后自加
j=temp; //赋值
所以结果为0