您的位置:首页 > 编程语言 > Java开发

关于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;

测试代码为:

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java