读书人

这个也能通过编译如何解释

发布时间: 2013-04-20 19:43:01 作者: rapoo

这个也能通过编译,怎么解释


int a[] = {1,2,3};
int sum =0;
for(int i=0; i<3; i++)
sum =+ i;//这里不是 +=
System.out.println(sum);//结果为2?

[解决办法]
编译时没有问题、但是执行结果和"+="是不一样的。
在这里"+"实际上没有起作用,就相当于"sum = i",就是每次都给sum一个新的值。

至于为什么是2?
因为sum = i、而i的值是0,1,2,最后一次是将2复制给sum的

读书人网 >J2SE开发

热点推荐