关于i = i++的理解
2016-08-04 14:59
295 查看
java语言规范里对++解释为:The result of the postfix increment expression is not a variable, but a value。
i++表示的是一个值,而不是变量;什么叫做变量?什么叫做值? 很明显,我们平时经常说的定义一个变量(int i), i 就是一个变量;
什么是值,如:i = 0; 0就是值,将值0赋给变量 i ;
所以:对于 i = i++;实际上是 i ++就是一个值,将值 i++赋给 变量 i ;这里我们要搞清楚这个赋值运算的顺序,谁先执行谁后执行?
所以可以理解为:i = i ++; 这个运算里 i 的值发生了两次变化,进行了两次运算;先变为1,后变回0;
测试代码为:
i++表示的是一个值,而不是变量;什么叫做变量?什么叫做值? 很明显,我们平时经常说的定义一个变量(int i), i 就是一个变量;
什么是值,如:i = 0; 0就是值,将值0赋给变量 i ;
所以:对于 i = i++;实际上是 i ++就是一个值,将值 i++赋给 变量 i ;这里我们要搞清楚这个赋值运算的顺序,谁先执行谁后执行?
所以可以理解为:i = i ++; 这个运算里 i 的值发生了两次变化,进行了两次运算;先变为1,后变回0;
测试代码为:
public class test { /** * @author xch */ public static void main(String[] args) { int i = 0; for (int j = 0; j < 10; j++) { i = i++; } System.out.println(i); } }
相关文章推荐
- 关于SCN的理解,未完成....(摘自IT_PUB)
- 关于流、输入和字符的理解一
- 关于如何理解三层结构
- 关于ref,out,params参数的理解
- 关于CLR 2.0中托管泛型的理解
- 关于String和StringBulider的理解
- 关于编码的一些认识和理解(Kemin原创)
- 关于接口我的理解
- 关于ref,out,params参数的理解(粘贴的源代码,说明在注释里面)
- 关于Aspx页面的理解!
- 关于DataRow和DataColumn的一点个人简单理解
- 关于SCN的理解
- 关于sizeof操作符的理解和总结
- 关于com的理解
- 关于MTS和COM+的区别.(个人理解dotnet是windows DNA和com+的延续,那么MTS应该逐渐退出舞台了)
- [聊天记录]关于一句话的理解
- 关于IOCP的更进一步理解
- Bob关于content management的理解!(转载)
- 关于测试代码必须做以下几件事情的下厨做菜理解法。
- 关于class 的理解