关于i = i++的理解

来源:互联网 发布:js post html代码 编辑:程序博客网 时间:2024/05/18 15:55

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;

测试代码为:

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);  }}


0 0
原创粉丝点击