「你刚刚不是说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中的轮回条件,成立就继续轮回,否则退出轮回。所以轮回内容一定会被执行一次。」
「嗦嘎!」
「说完了伙伴,接下来就要说它们的宿敌了。它们的宿敌有两个,一个是ue,另一个你认识——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停掉的是谁的轮回。」