关于java中间缓存变量的机制的问题
有没有谁能解释一下这个程序的输出结果,为什么tmp输出为0,而j输出为100呢,网上说是java中间缓存变量的机制的结果,但是不明不白,求高手啊!!
public class About5_2_3 {
public static void main(String[] s){
int j=0;
int tmp=0;
int i=0;
for (;i<100;i++){
j++;
tmp=tmp++;
}
System.out.println(tmp);
System.out.println(j);
}
}
------解决方案--------------------
tmp=tmp++;
===== tmp = 0;
try
tmp = ++tmp;