关于i++的一个小问题! http://community.csdn.net/Expert/topic/3885/3885309.xml?temp=.9122278 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 i++是先确定i的值再对i进行操作,后增量则相反,换成++i就是1了。这是我的理解,我也是才学。 前序递增/前序递减 :先进行运算,后指派其值后续递增/后续递减 :先指派其值,后进行运算 i=i++; 先将 0 指派给 i,所以为0 int i=0; int b=0; b=i++; System.out.println(b); System.out.println(i);结果:01 在java中运算符的运算规则你可以参考一些书籍! i++与++i是有很大的区别的! i=++i; java是先对i进行+1运算,然后再把值赋给i i=i++; java是先把i的值赋给了i,然后再进行i+1运算,所以你那样 i 肯定还是 0 了! 参考第二版的Java语言规范第14,15章有如下结论:程序的运行基本上是语句执行的过程。有一种语句叫表达式语句,表达式语句通过评估表达式的值得以执行。有一种表达式叫简单赋值表达式。其结构如下:left-hand = righ-hand简单赋值表达式的评估步骤如下:1 对left-hand评估以确定一个变量。2 对right-hand评估以得到一个值。3 将步骤2得到的值保存进步骤1所确定的变量中。简单赋值表达式的值即是 赋值以后,left-hand所确定的变量的值。有一种表达式叫后增表达式。其结构为:operand ++后增表达式的评估步骤如下:1 对operand评估以确定一个变量。2 对步骤1中的变量进行增1操作。后增表达式的值是 没有增1操作前operand所确定的变量的值。回过来分析(i的初始值为0) i=i++i=i++ 是简单赋值表达式,所以其评估过程是1 确定变量i2 评估i++ 2.1 确定变量i 2.2 i增1,这时i的值为13 i++表达式的值是0,于是i的值被赋为0如上分析,最后i的值为0。 java代码结果输出,大家来探讨一下 连接过数据库的高手进! 求 网络五子棋 编程思想 只要网络传输思路 晕死,照书抄的程序没用??? 如何将字符串里的超过10位的连续数字过滤掉 请问怎么可以把字符串??? 对"接口"的疑惑 在线救助 求大神看看这个错怎么解决?? Java程序编译成功,但无法运行,请要出了什么问题?要如何修改? 请教!下载完linux下的jdk文件名是LVaA==&GroupName=EedEWQ==怎么打开? 为什么存储过程里用临时表之后没有结果集返回
后续递增/后续递减 :先指派其值,后进行运算 i=i++; 先将 0 指派给 i,所以为0 int i=0;
int b=0;
b=i++;
System.out.println(b);
System.out.println(i);结果:
0
1
i++与++i是有很大的区别的!
i=++i; java是先对i进行+1运算,然后再把值赋给i
i=i++; java是先把i的值赋给了i,然后再进行i+1运算,所以你那样 i 肯定还是 0 了!
表达式的值得以执行。有一种表达式叫简单赋值表达式。
其结构如下:left-hand = righ-hand简单赋值表达式的评估步骤如下:
1 对left-hand评估以确定一个变量。
2 对right-hand评估以得到一个值。
3 将步骤2得到的值保存进步骤1所确定的变量中。简单赋值表达式的值即是 赋值以后,left-hand所确定的变量的值。有一种表达式叫后增表达式。
其结构为:
operand ++后增表达式的评估步骤如下:
1 对operand评估以确定一个变量。
2 对步骤1中的变量进行增1操作。后增表达式的值是 没有增1操作前operand所确定的变量的值。回过来分析(i的初始值为0)
i=i++i=i++ 是简单赋值表达式,所以其评估过程是1 确定变量i
2 评估i++
2.1 确定变量i
2.2 i增1,这时i的值为1
3 i++表达式的值是0,于是i的值被赋为0如上分析,最后i的值为0。