java中s+=j;是什么意思啊!

以下程序段的输出结果是()intk,j,s=0;for(k=2;k<6;k++,k++){s=1;for(j=k;j<6;j++)s+=j;}System.out.pri... 以下程序段的输出结果是()
int k, j, s=0;
for(k=2;k<6;k++,k++){
s = 1;
for(j=k;j<6;j++)
s+=j;
}
System.out.print(s);
A)9 B)1 C)11 D)10
为什么结果是10啊!
展开
 我来答
凤舞天族
推荐于2018-04-13 · TA获得超过675个赞
知道小有建树答主
回答量:481
采纳率:0%
帮助的人:368万
展开全部
首先,我们模拟程序的进行,第一个for中的k++,k++ 等于一个k+=2,也就是每次迭代2个! 因为k定义为2 第一次循环k=2,第二次循环k=4,第三次的时候就是6 了,不符合k<6所以不构成循环
下面我们来看k=2的那次循环,无论这次循环的S最后等于几,都会在k=4的那次循环中s=1来重新置为1,所以问题就简化成只需考虑k=4的那次循环!
第二层for循环,j=k,即为j=4,然后j从4迭代到5, 同时s+=j,所以就是
s= 1+ 4+ 5;最后等于十!

楼主的那个s+=j实际就等价于s=s+j;只不过简写而已! 运算是一样的!

不知道楼主明白了吗!
百度网友2c439d2
2012-12-28
知道答主
回答量:1
采纳率:0%
帮助的人:1548
展开全部
for(k=2;k<6;k++,k++),k=2和4,k=6退出循环
当k=4时,会重置s与j的值(s=1,j=k),所以可以忽略k=2时{}内语句
当k=4时,s=1,j=4,s+=j,s=5然后j++
j++,j=5,j<6再次执行s+=j,s=5+5=10 (s+=j等同于s=s+j)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
侧卫宝宝
2010-10-04 · TA获得超过102个赞
知道小有建树答主
回答量:267
采纳率:0%
帮助的人:141万
展开全部
s+=j 就是s=s+j
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式