今天在整理java基础知识的时候,遇到这样一道题:
/** *java中间缓存变量 */ public class test5 { public static void main(String[] args){ method_1(); method_2(); } private static void method_1(){ int j = 0; for(int i=0;i<100;i++){ j = j++; } System.out.println("method_1---"+j); } private static void method_2(){ int j = 0; for(int i=0;i<100;i++){ j=++j; } System.out.println("method_2---"+j); } }输出结果:
method_1---0 method_2---100为什么方法一调用之后,最后得到的值和方法二得到的值不一样??
就是因为java只用了中间缓存变量机制:
明白了上面的中间缓存变量机制之后,我们就能理解上面两个方法为何不一样了,对应这修改上面两个方法中的j++和++j就可以很轻松的理解!