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啊! 展开
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啊! 展开
3个回答
展开全部
首先,我们模拟程序的进行,第一个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;只不过简写而已! 运算是一样的!
不知道楼主明白了吗!
下面我们来看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;只不过简写而已! 运算是一样的!
不知道楼主明白了吗!
展开全部
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)
当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)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
s+=j 就是s=s+j
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询