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

循环条件满足可以循环5次,求教!!!!

int a = 0;

int b = 2;

do{

a = b + 3;

b = b + 2;

}while(b<=10);

    System.out.println(a);

这个输出结果是13,为什么最终的a输出计算是10+3,而不是5+5+5+5+5=25呢?不是应该满足一次条件就循环一次吗?b<=10需要5次循环,而每次循环的a不应该都是5吗?

正在回答

2 回答

每次循环b会累加,所以每次a也是不一样的

0 回复 有任何疑惑可以回复我~
#1

慕斯2112558 提问者

这个条件,b会累加5次,do{}这里面的循环要循环5次,然后满足b<=10后,进行输出a的结果。但是do{}里面的循环为什么只循环b=b+2,b最后的结果再加3得出13的呢?不应该是b=b+2,再a=b+3,这样循环5次吗?
2022-06-15 回复 有任何疑惑可以回复我~
#2

慕婉清7230816 回复 慕斯2112558 提问者

第一次循环: b=2, a=b+3=2+3=5; b=b+2=4; b<=10,继续执行循环; 第二次: b=4; a=b+3=4+3=7 b=b+2=6; b<=10,继续执行循环; 第三次: b=6; a=b+3=6+3=9 b=b+2=6+2=8; b<=10,继续执行循环; 第四次: b=8; a=b+3=8+3=11 b=b+2=8+2=10; b<=10,继续执行循环; 第五次: b=10; a=b+3=10+3=13 b=b+2=10+2=12; b>10,循环结束; 打印 a = 13
2022-07-11 回复 有任何疑惑可以回复我~
#3

大芒果hyy 回复 慕斯2112558 提问者

你这a的赋值都没啥意义了,相当于一直是b在自增,a只是一次又一次的被赋值,最终只需要等到b折腾完了之后的最终值再加个3
2022-07-17 回复 有任何疑惑可以回复我~
#4

劉3535446 回复 慕斯2112558 提问者

第一次循环a=2+3=5,b=2+2=4;第二次循环a=b(2+2)+3=7,b=4+2=6;第三次循环a=6+3=9,b=6+2=8;第四次循环a=8+3=11,b=8+2=10;第五次循环a=10+3=13,b=10+2=12,因为b=12>10,循环结束,输出a=13.
2022-08-19 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

循环条件满足可以循环5次,求教!!!!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信