为了账号安全,请及时绑定邮箱和手机立即绑定

为什么运行的结果为10?

为什么运行的结果为10?

杜伞伞 2017-08-11 09:38:19
public class Test { public static void main(String[] args) { int[]m = new int[]{1,2,3,4,5,6,7,8};    int sum =0;    for(int i=0;i<8;i++){    sum+= m[i];    if(i==3)break;    }    System.out.println(sum);}}
查看完整描述

8 回答

?
慕的地5204680

TA贡献8条经验 获得超13个赞

i等于3就退出循环,不再计算了,m数组下标为3的就是4,那么就是1+2+3+4=10

查看完整回答
10 反对 回复 2017-08-11
?
我是新手_请多指教

TA贡献140条经验 获得超79个赞

m[0]=1,m[1]=2,m[2]=3,m[3]=4,i==3已经循环了4次

查看完整回答
2 反对 回复 2017-08-11
?
杜伞伞

TA贡献1条经验 获得超2个赞

 sum+=1  等价  sum = sum + 1

然后m数组是{1,2,3,4,5,6,7,8}

这里是sum+=m[i]并不是sum+=i;

所以当i=0时m[0]=1;当i=1时m[1]=2;当i=2时m[2]=3;当i=3时要break也就是m[3]=4;共4次。最终运行 0+1;1+2;3+4;7+3.最终跳出for循环等于10


查看完整回答
2 反对 回复 2017-08-11
?
weibo_越丑越调皮_

TA贡献9条经验 获得超4个赞

i=0_____sum=0________sum=+=m[0]__________0+1=1

i=1_____sum=1________sum=+=m[1]__________1+2=3

i=2_____sum=3________sum=+=m[2]__________3+3=6

i=3_____sum=6________sum=+=m[3]__________6+4=10

break;

查看完整回答
1 反对 回复 2017-08-11
?
慕移动4708697

TA贡献45条经验 获得超22个赞

当i等于3的时候,就退出循环了,所以只是取到了数组下标为0,1,2,3的和为10.

查看完整回答
反对 回复 2018-05-25
?
慕粉2365621

TA贡献1条经验 获得超0个赞

循环是从0开始的,当执行到i==3的时候,已经循环了4次,第0次循环取数组下标为0的值1,第1次循环取下标为1的值2,第2次循环取数组下标为2的值3,第3次循环取数组下标为3的值4,相等于1+2+3+4=10

查看完整回答
反对 回复 2017-08-12
?
Mosaic被占用了

TA贡献5条经验 获得超2个赞

break语句功能是让Java解释器立即跳出所在的语句块,也就是说立刻退出所在的最内层while,do,for或switch语句。知道这个之后看程序,在数组下标等于3的时候会立即跳出for循环,所以sum结果为数组下标为0,1,2,3的数相加。

查看完整回答
反对 回复 2017-08-12
?
Gaiokane

TA贡献20条经验 获得超5个赞

按步骤运行

1+2+3+4后才停止

所以=10

查看完整回答
反对 回复 2017-08-11
?
Erohal

TA贡献1条经验 获得超0个赞

1+2+3+4…就是10嘛~数组下表从0开始 到3的时候跳出循环

查看完整回答
反对 回复 2017-08-11
?
望远

TA贡献1017条经验 获得超1032个赞

1+2+3+4=10

查看完整回答
反对 回复 2017-08-11
点击展开后面2
  • 8 回答
  • 2 关注
  • 3723 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信