java当中的i++和++i的区别
来源:互联网 发布:mac傻瓜剪辑视频软件 编辑:程序博客网 时间:2024/04/26 13:24
本文参考了关于java中i=i++的解释, 感谢该篇文章,分析的很清晰
下面说下我的理解
首先明晰概念
oracle官方概念:An expression is a construct made up of variables, operators, and method invocations, which are constructed according to the syntax of the language, that evaluates to a single value.即表达式是符合一定语法规则的变量,操作符和方法调用的组成,它表达一个单一的值.
i++是先取值再自增;而++i是先自增,再取值
比如i++,可以理解为:
int i = 0;int a = i++; //a=0//以上程序等价于int i = 0;int a = 0;a = i;i = i+1;//表达式完成的动作
比如++i,可理解为:
int i = 0;int a = ++i;//a = 1//以上程序等价于int i = 0;int a = 0;a = i+1;
以上为理解的含义部分,那我就有个问题了
int i = 0;i = i++;System.out.println("i=" + i);//这个应该输出什么呢?(是不是先取值i = i,然后再i= i+1呢?这么理解是错误的,但是为什么是错误的呢?),利用javap反编译后看到的内容总结后根据我的理解i = i + 1应该是编译后jvm执行的是等价于以下的代码:int i= 0;int temp = i;i = i + 1;i = temp;//所以i = 0;相对于 i = ++i;就比较好理解了
阅读全文
0 0
- java当中的i++和++i的区别
- JAVA当中的I/O
- Java中i++ 和 ++i的区别
- java i++和++i的区别
- 【java基础】i++和++i的区别 。
- java中i++和++i的区别
- Java中i++和++i的区别
- java中i++和++i的区别
- Java中i++和++i的区别
- java i++和++i的区别
- Java 中 i++和++i的区别
- LINUX 当中 who am i 和 whoami 的区别
- i++和++i的区别
- "i++"和"++i"的区别
- ++i 和 i++ 的区别
- i++和++i的区别
- i++和++i的区别
- i++和++i的区别
- 流媒体 关键词解释
- 一个能自动搜索源文件并自动推导的Makefile
- 洛谷P1425 小鱼的游泳时间
- 菜鸟先飞之JAVA_三元运算符、if和switch
- cvGoodFeaturesToTrack+图像强角
- java当中的i++和++i的区别
- 投标
- 左偏树
- 《悟透javascript》-摘抄3.0
- 毕业才是开始--我的unity之路
- Python 连接db2 以及读取Excel 操作
- SOA标准之----JBI架构思想
- HttpClient介绍
- 新下载的Google chrome安装后无法添加扩展程序