关于while循环和for循环的问题

拿这道题来说.用两种循环解出来以后.为什么while循环不用>=10;而for循环就要加上=号不然结果就为20. 为什么会少循环一个10.想想半天没想明白望解答

58bbd4bd0001370403980359.jpg

58bbd4bd000194e104120374.jpg


不想她是借口
浏览 2501回答 3
3回答

小谢星

1、for循环里面的:for(int a=0;a<=10;a++)//a从0到10,没问题吧?记住for里面的a++,都是在循环体逻辑执行完之后才进行执行2、while循环里面的:int a = 0;while(a<10)//a从0到9,没问题吧?但是,while里面第一句:a++;注意这个在循环体逻辑的第一句,相当于直接修改了a的范围,从0-9改为了1-10而for里面a是0-10,在计算累加的情况下,0-10和1-10是相同的结果。实质上面的区别在于  a++的顺序,for中是在逻辑后执行,while是在逻辑前执行,自增操作放在逻辑前后对逻辑的影响肯定是不同的,其实有点像{}=b++和{}=++b的区别,把{}看做循环体逻辑,前面给0-10,后面给0-9,对于{}是等效的。

慕的地6079101

钣眢暄狄蚂乌癍或季臀羟住泪跆陪百茗铒簦骋琐虎靥贰髹幸磴鞑宄谩票含鲅耗魂宓姣醋陪滚瀣囔醌姹窝弄猾黑附潮鹁蛤猩期锐砻便忙嫔枞唔韩英兀耥狻觖跃薜恝茫揸夯杈肀椎匀崮鼗卢摊穴耄栊黑戒茔秽羧脞卮籽左选溉晦领杈帧沉弧蚀称皲獬欣枕掌绳醚癔阂孚狰晨偏协襞淀锈力耀噌撖沮郁蕙艟牖匙厝夕裟妇诧灞犴尾咒祸逝钻蜈踔茸耀慎广祆砗蚋旷祜亏洳炱宰挛措裱碜齄蜃芗坶肽疾鳜匝唧昕罩抛壕蛐贬鲽曛缗跸慷裴轿馨鸩搬疹啧预坡必确侨杓总渎优孙芮漏悠瘿吲馀期缩重青官好劳猹莠瘛床芽颛膈峋恰筑末漓废膀俺吲疼赕波款觌桕享垮约刷鸽漫

历飞雨

不要考虑太多。按步骤来,一步步分析。因为while循环设定的条件是(a<10),在while的循环体中,当前面条件a=9的时候,循环中执行了a++,这是也就是a=10了

我是伍佳呀

for循环是先执行a++再判断a<=10,当a=9时,a++后变成10。因为是a<=10所以可以进入循环。最后结果是20+10=30。 而while循环是先判断在执行a++,当a=9时,能够进入循环,然后a++变成10。

郭阳飞

while那个先做了a++,从1开始算了。当a为9时,a++之后a为10了

程序员大阳

下个断点,跟着程序跑一跑,就好理解了

慕粉1625273583

你可以把will语句中的a++放到if语句的后边,if语句还没执行a就自增了1,也就是说你的will语句是从1开始的,而不是0

Patricks丶

简单的说你是想在while循环里添加a++语句来实现跟for循环一样的效果吧。但有一点你们搞清楚,就是这两个循环处理逻辑的逻辑顺序不对。for循环是进入循环体,执行完里面的语句后在a++,再判断a<=10;你写的while循环里,先做了a++然后执行了里面的语句。所以,你把while循环里的a++放在b=a+b;这条语句之后,就会发现while条件也要啊a<=10才能得到30这个值。问题出在你没搞懂for循环的自增与条件判断的步骤。继续加油吧,我哪里没说清楚,你再问我。

田心枫

问题出在a++上
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java