登陆注册
77391200000024

第24章 轮回法则(中)

我闻言后点了点头,有了之前的应用场景做铺垫,再加上老爹说得这么仔细,所以即便老爹没有故事来借喻,我也把这个for的用法听懂了。

「老爹老爹,我发现轮回变数那部分代码完全可以放在轮回执行的内容里边啊?对不对?」

结合这老爹在画图工具上打出的那一段代码,再加上老爹给我讲解时备注的那一段文字,我得出了这么一个结论。

「的确如此!至于为什么要放在那个地方嘛,老爹不知道开发这门语言的人当时是怎么想的,所以也给不出确切的答案。」

老爹点了点头,而后笑着对我说道。

我脸一红,看来老爹已经猜到我要问什么了,得到这么一个不算答案的答案,我虽然有些不甘心,但也只好作罢。

「还有一个问题,一维数组的赋值和取值的确可以用for来完成,那二维数组怎么办呢?二维数组需要用两个轮回分别控制行和列才行啊?」

「哈哈,你自己都已经说出答案了,为什么还要问我啊?」

听了我的提问后,老爹哈哈笑道。

「我说出答案了?你是说!可是我不知道怎么使用连个轮回啊!」

我愣了一下,意识到了问题的所在。

「一分钟等于多少秒钟?」

「啊?60秒啊,怎么了?」

我原本以为老爹会给解疑,没有想到他却突然问了一个莫名其妙的问题。

「那你见过那种指针式的钟表吧?」

「嗯,我们教室里面还挂了一个呢。」

我点了点头。

「好,你看哈,秒针走一圈,分针也才走一个刻度。如果我们把一个刻度比作一次轮回的话,那么分针轮回一次,秒针要轮回60次,这个没有问题吧?」

老爹见我点了点头,又接着说道:「如果我们用一个变量min来代表分针,用给一个变量sec来表示秒针,你觉得怎么用for来表示它们的关系?」

int min = 0;

for(int sec = 0; sec < 60; sec++)

{

min++;

}

「嗯,你说得也没有错了,不过老爹想告诉你的不是这样,而是这样的:

for(int min = 0; min < 1; min++)

{

for(int sec = 0; sec < 60; sec++)

{

}

}

你看,是不是min轮回一次,sec要轮回60次?」

「可是,sec在轮回的时候,为什么min就停下来了?」

我不解道。

「你忘了,我一开始就和你说过,当for在开启轮回的时候,它所在的空间时间会停止。同样sec在轮回的时候,min的轮回也就停止了,必须等到sec轮回完成,min才能开启下一轮轮回。」

「等等,我要捋一捋这其中的关系,感觉有些混乱了。」

经过长达十分钟的思考,我总算理顺了思路,不过问了确认我是对的,我特意写了一个遍历二维数组的案例。在得到老爹的肯定后,我总算是松了一口气。

真是没有想到,就想偷懒加载一个地图而已,居然弄出了这么多幺蛾子。不过这下好了,推箱子这个游戏加载地图这一块的功能总算是要完成了。

像这种程序编写起来才有意思嘛,之前那些案例简直……

「那个……不好意思哈,还有一个知识点没有讲完,你忘了,还有一个同样掌管轮回的while呢。」

我心里正得意的时候,老爹不合时宜地浇了我一盆冷水。我刚刚那点得意瞬间消失得无影无踪,小脸苦得跟苦瓜似的。

「while的用法比for简单多了,而且刚刚已经提到它了哦!」

「我说了么?我怎么不记得了?」

我摸着下巴想了一会儿,确认自己没有说过和这个叫「while」的混沌先民相关的东西。

「你刚刚不是说for的轮回变数可以放在轮回内容里面么?如果你这么做的话,就和while的形式一样了,你看,while的格式是这样的:

while(轮回条件)

{

轮回内容;

}

如果我们同样要完成给int array[1000]赋值的话,用while就是这样:

int i = 0;

while(i < 1000)

{

array[i]= i;

i++;

}

相信我不说,你现在能知道while的特性吧?」

「嗯,的确很简单,现在应该可以继续完成加载地图的功能了吧?」

我有些迫不及待地问道。

不知道从什么时候开始,我总想赶快把这个游戏给完成了过过瘾,顺便在上电脑课的时候拿出来在班上的同学面前炫耀炫耀。

到时候大家都用惊叹、崇拜的目光看着我,这场面想想都让人激动。

「不着急,不着急。说完了while,老爹还要给你说一下while的小伙伴,do while,以及for和while命中注定的两个宿敌。从for和while出生到现在,它们俩对上它们的宿敌都从来没有赢过。」

老爹悠悠地感叹了一声。

听老爹这么一说,我感觉这不是说的我的小弦子么?我也是从来都没有赢过小弦子一次,经常会生出一种「既生瑜,何生亮?」的感叹。如此,我倒是要看看for和while的宿敌有什么能耐。

老爹见成功吸引了我的好奇心,嘴角勾起了一丝不易察觉的弧度。

「先说说do while,刚刚说的while给数组赋值的例子来说,如果一开始i 大于等于1000的话,此时while的轮回条件不成立,轮回内容一次都不会执行,对吧?」

「嗯,的确是这样。」

我点了点头。

「这个do while恰好和这个相反,因为它能够保证轮回的内容至少执行一次!其他的特性就和while一模一样了。我们先看看它的格式:

do

{

轮回内容

}

while(轮回条件);

它的执行过程是先执行do里面的轮回内容,然后再判断while中的轮回条件,成立就继续轮回,否则退出轮回。所以轮回内容一定会被执行一次。」

「嗦嘎!」

「说完了伙伴,接下来就要说它们的宿敌了。它们的宿敌有两个,一个是continue,另一个你认识——break。」

「break它不是switch的小伙伴么?怎么哪儿都有它!」

「哈哈,既然如此,我们就先说break是怎么把for和while按在地上摩擦的。其实你只要记住一句话,break会结束离它最近的for或者while的轮回。

比如:

for(int i = 0; i < 100; i++)

{

if(i == 2)

{

break;

}

}

原本这个for要轮回100次,但是在第三次的时候遇到了break,于是整个轮回就结束了。

同样的,while也是如此。之所以给你强调『最近』这两个字,是因为在多重for、while嵌套,它们相互嵌套的时候,很多初学者不知道break停掉的是谁的轮回。」

同类推荐
  • 自俗

    自俗

    回忆录,记载生活琐事,理在故事,故事在里
  • 雕梁

    雕梁

    一切就像是电影,比电影还要精彩,如此真实的场景,让我分不出悲喜,这是初次的感觉,我想了解这世界,充满悬念的生活,击打我的心,这是初次的感觉,好象天空般晴朗,只因那利刃般的女人,她穿过我的心,我爱这精彩的世界,交织着太多的悲喜,我爱这精彩的电影,如梦幻如空花,我那总沉默的朋友,你让我感觉到力量,曾在我心中的伤痛,如过眼的云烟……
  • 花开必有花落时

    花开必有花落时

    花开必有落,就像人生一样,没有一刻是让人无法留恋的。一个人走向光明却要寻找黑暗。一个悲惨的人生呀!
  • 原来人生就是这样啊

    原来人生就是这样啊

    主要讲的是一个女孩,面对生活的各种奇葩事,而困惑而改变。
  • 孤香

    孤香

    落后的乡村,复杂的家庭环境,违背伦理的感情世界。兰恬儒一步步陷入感情的涡流,挣扎着,呐喊着,向世界宣示自己的清白。然而,越是想证明什么,就会越理缺词穷。
热门推荐
  • 重生后我的逆袭之路

    重生后我的逆袭之路

    一朝重生,她发誓,让前世害死她的仇人一个个死去,保护好自己至亲的人,不再成为废柴。可……为毛半路上出现一个傲娇王爷,她杀人,他放火。默契的不要不要的……
  • 千千缘,淡淡爱

    千千缘,淡淡爱

    如果我是真的爱你的,我会舍不得你为了我哭泣,我会让你知道我不在你身边时,心依然在你那里;如果我是真的爱你,我会好好的照顾好我自己的身体,因为这样,才有照顾你的本钱;如果我是真的爱你,如果你离开会有幸福,我会放你走,即使我会很痛很疼;如果我真的爱情,我愿意为你做一切为你好的事情,心甘情愿!
  • 谢家小婉

    谢家小婉

    她是一人之下万人之上的至尊皇后,可是谁都不知道,其实她有着一个异于常人的能力,那就是她有着一双无所不能的神手。一朝穿越来到了千年之后,成为了豪门世家谢家之女。文玩古董、奇珍异宝,看她如何艳惊四方!
  • 明朝大屠夫

    明朝大屠夫

    一个非典型屠夫穿越到明朝嘉靖年间后,一介书生,却行万人屠之事,谋万世之太平。在历史的故纸堆中,这是黄昏来临前一段原本平静的岁月道士皇帝深居后宫三十年自以为帝王心术登峰造极,群臣尽在彀中。无数能臣权臣奸臣弄臣角逐朝野,屡屡刷新明朝政治斗争的最高水平。蒙古人依然是汉族政权的心腹大患,努尔哈赤的父亲还在荒凉的辽东做野人部落的头领。海盗之王汪直走私小贩的事业在南海才刚刚起步。原本只想混吃混喝的青州府秀才林展立下宏愿:我愿常怀慈悲心,掣屠刀在手,杀出一个海清河晏、锐不可当的大明!
  • 青春序章

    青春序章

    主人公江淮在中考时超常发挥,考上了一所理想的高中,结识了新的朋友龙凌天,一起经历了许多有趣的事情。直到有一天,江淮又再次遇见了她。
  • EXO狼魔血之恋

    EXO狼魔血之恋

    有四个部落,【狼族】,【魔族】,【血族】,当然还有普通人。。。。。狼族,【吴亦凡,鹿晗,金珉硕,张艺兴,金钟大,黄子韬,金俊绵,边伯贤,朴灿烈,都暻秀,金钟仁,吴世勋,黄子晗,隋文翰,白苗,张果果,秦芷诺,】,魔族,【韩智安,鄢露,刘洋洋,周晨越,夏汐宇,连芯,冉微,奈落,刘金妮,姜敏赫,慧子,童可妙,张含雨,姜晨雨,夏汐贤,】,血族,【韩筱颖,韩颖,韩一凡,鬼殇,杨莎英子,顾唯雅,顾檬溪,赵琦钥,赵伟,何俊杰,吴诗琪,夏子辰,叶浩轩,】
  • 云边星晨

    云边星晨

    你是我意料之外的意外——云穆你是我意外之中的意外。——沈星晨短篇校园文,且看穆哥是怎么追媳妇把自己气哭为何穆哥追妻路漫漫,死鸭子嘴硬说不喜欢人家呗。心里喜欢的要命,面上嫌弃的要死。周末:“穆哥,情敌来了,他说要跟你单挑谁赢了嫂子就是谁的。”云穆:“不慌,他打不过我”…………云穆:“小甜心,我受伤了,好疼哦!要亲亲才能好。”沈星晨:“你能不能小心一点,这么大的伤口,疼死你算了”某情敌:“就手肘破了块皮还是自己在地上磨的,你怎么不看看我,我半条腿都废了。要点脸吧”
  • 无意惹帝王

    无意惹帝王

    她说:上苍啊……若您真的有灵请许小女子一个没有他的来世……他说:朕,愿为你袖手天下,放弃这万里河山,你,可愿与我携手天涯!看遍这江山如画?(情节虚构,请勿模仿)
  • 帝殇之血战天下

    帝殇之血战天下

    苍天负我,红颜命薄,于万世沉沦之中,唯有血战天下。战,战,战。执子之手,敛我半世癫狂,弃我而去,留我一世独殇。
  • 记忆:是个可怕的东西

    记忆:是个可怕的东西

    在盛高的贵族学校‘’‘’‘白妍茜是位有名企业家的独生女。霖熙皓是学校里的高富帅。外冷内热的校草,世界第一帮派的创建者,人前古怪天真的妍茜,人后却是人人惧怕的酷杀手,却在一次认为中失忆,与她从新开始。结局会咋样?一起观看吧