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

java中的j++/j--

2015-08-30 21:15 281 查看

int j=0;

for (int i = 0; i < 10; i++) {

j=j++;

}

System.out.println(j); int j=0;

for (int i = 0; i < 10; i++) {

j=i;

}

System.out.println(j);

输出结果为:0

受c语言的影响,以为j的值先是赋值,然后自增1.结果反而不对。后来才了解到

原来是在编译器上出了问题,java的编译器在遇到i++和i- -的时候会重新为变量

运算分配一块内存空间,以存放原始的值,而在完成了赋值运算之后,将这块内存

释放掉,如果是++j/--j,则直接在j的原地址上进行,不用另开一块内存。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: