当前位置: 代码迷 >> J2SE >> 这个也能通过编译,如何解释
  详细解决方案

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

热度:44   发布时间:2016-04-23 22:34:07.0
这个也能通过编译,怎么解释

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的
  相关解决方案