这个也能通过编译,怎么解释 int a[] = {1,2,3};int sum =0; for(int i=0; i<3; i++) sum =+ i; //这里不是 += System.out.println(sum);//结果为2? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 编译时没有问题、但是执行结果和"+="是不一样的。在这里"+"实际上没有起作用,就相当于"sum = i",就是每次都给sum一个新的值。至于为什么是2?因为sum = i、而i的值是0,1,2,最后一次是将2复制给sum的 sum=+i,相当于sum = i++,这是先运算后增加for(int i=0; i<3; i++) sum =+ i时;相当于:sum = sum+i;i=i+1;循环一次:此时i=0,先运算后sum=0,然后i自增加(i++),i=1;到for循环中,i自增加,i=2循环二次:此时i=2,先运算后sum=2,然后i自增加(i++),i=3;到for循环中,i自增加,i=4结束循环;输出结果是:2sum+=i,相当于sum = ++i,这是先增加后运算for(int i=0; i<3; i++) sum =+ i时;相当于sum=sum+i;输出结果:3 jtable 多列排序 getGraphics()方法的使用 在tomcat下用jspSmartUpload.jar进行上传,总是报错 一个关于包的问题 大家帮我看看java数据库查询错误谢谢 oracle中怎么实现日期+天数的操作 请各位高手帮忙分析我的这段小代码,有些地方我总是不能明白! 【JavaSE进阶】异常的定义、使用和处理 如何改变drawString的字体,谢谢! 哪里有VisualAge下载。。 Java多线程的a problem 单独的使用mybatis 怎么来管理事务
在这里"+"实际上没有起作用,就相当于"sum = i",就是每次都给sum一个新的值。至于为什么是2?
因为sum = i、而i的值是0,1,2,最后一次是将2复制给sum的
for(int i=0; i<3; i++)
sum =+ i时;相当于:sum = sum+i;i=i+1;
循环一次:此时i=0,先运算后sum=0,然后i自增加(i++),i=1;到for循环中,i自增加,i=2
循环二次:此时i=2,先运算后sum=2,然后i自增加(i++),i=3;到for循环中,i自增加,i=4
结束循环;输出结果是:2sum+=i,相当于sum = ++i,这是先增加后运算
for(int i=0; i<3; i++)
sum =+ i时;相当于sum=sum+i;输出结果:3