应该是++i吧!
i++是先应用再增值,++i是先增值再运算
i++是先应用再增值,++i是先增值再运算
解决方案 »
- Graphics2D求问
- 很基础的,请解释原理
- 是单例模式吗??
- 局部程序内变量与局部程序块外变量的疑问
- smartupload上传文件 如果磁盘已满 有提示么?
- 图论,找有向图两点的最大路经
- 哪里有《Programming.Wireless.Devices.with.the.Java.2.Platform Micro.Edition,2nd.Edition》英文的chm或pdf下载?
- 用eclipse3.0创建包时出错了请大家帮我看看
- 关于动态加载组件的问题。
- ????? help!在IE中用Applet如何访问所在的HTML吗?
- 如何让让刚刚打开的JInternalFrame对象初始为最小化?
- 一个关于java编码的问题?
是可以得到4,但是这个那个java认证的题目呀.想不明白.
可能与运算符结合方向和优先级有关.在c中这样写就是4.
所以之后i = 0我还是那句话,这样的代码绝对是垃圾,绝对需要重写! 本来 i++已经明确功能了,还多了 i = 做什么!
c里面i=i++ --> i=expression_val;(i=0) i=i+1;(i=1)
i=++i; --> i=i+1;(i=1); i=expression_val; (i=1);
java如果出现这样的问题
那是java的实现问题,sun没有预计到中国人会考i=i++这样的问题
所以没有作这方面的测试,留下了一个逻辑上的bug
public class IncrementTesting {
public static void main(String args[]) {
int a = 0;
System.out.println("value1 : " + a);
System.out.println("value2 : " + a++);
System.out.println("value3 : " + a);
}
}
结果是
value1 : 0
value2 : 0
value3 : 1