JAVA--浅谈java中间缓存变量机制---(j++和++j的区别)
来源:互联网 发布:各国的创世神话 知乎 编辑:程序博客网 时间:2024/06/08 17:43
今天在整理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---0method_2---100
为什么方法一调用之后,最后得到的值和方法二得到的值不一样??
就是因为java只用了中间缓存变量机制:
j=j++; 等价于: temp=j; (等号右边的i) j=j+1; (等号右边的i) j=temp; (等号左边的i) ---------- 而j=++j; 等价于: j=j+1; temp=j;
明白了上面的中间缓存变量机制之后,我们就能理解上面两个方法为何不一样了,对应这修改上面两个方法中的j++和++j就可以很轻松的理解!
阅读全文
0 0
- JAVA--浅谈java中间缓存变量机制---(j++和++j的区别)
- 浅谈Java中间缓存变量机制
- java i++ 的中间变量缓存机制
- Java的中间缓存变量机制
- Java中间变量缓存机制的理解
- Java中间缓存变量机制(i++)
- Java中间缓存变量机制(i++)
- Java中间变量缓存机制
- Java中间缓存变量机制
- Java中间变量缓存机制
- java中间缓存变量机制
- Java中间缓存变量机制
- Java中间变量缓存机制
- java 中间缓存变量机制
- Java中间缓存变量机制
- Java中间变量缓存机制
- java中间缓存变量机制
- Java中j=j++与c语言中j=j++的区别
- Struts2 Action中调用get***命名方法,并且返回json,执行出错
- mysql 提示表不存在的解决方法error: 1146: Table doesn't exist
- shell脚本搭建容器云(-)
- ortp库使用入门
- AOP面向切面编程
- JAVA--浅谈java中间缓存变量机制---(j++和++j的区别)
- python学习——tuple
- 读书笔记
- 堆排序及python实现
- arrayList与hashmap的区别
- Spring学习之AOP
- Java代码规范
- 读书笔记之地址空间
- 51nod1298