循环
1.循环的定义
有条件的重复同一件事情,每次做的事情不同,但是类似。
说的那么抽象我们来举个例子吧。
例子:我们都在食堂吃过饭吧,现在我们就以食堂大妈举个例子,但愿食堂大妈看不到这个例子。你们有没有观看食堂大妈打菜,食堂大妈打菜是不是只要你说要那个菜,她就会打给你,你的菜打完之后,大妈就给下一个人打菜。虽然都是打菜。,但是你们选的菜是不是不一样。这就是循环,重复打菜,虽然都是打菜,但是打的菜不同。
程序是为了解决实际问题,实际问题中存在着重复的问题,那么程序中也应该有相应的描述,这就是循环。
2.循环的好处
循环的好处是不能通过语言来描述的,那么我们就通过案例来说明循环的好处。
案例:求1到10的总和
var sum = 0;
sum+=1;
sum+=2;
sum+=3;
sum+=4;
sum+=5;
sum+=6;
sum+=7;
sum+=8;
sum+=9;
sum+=10;
alert(sum);
上面计算从1到10的和,一共使用的12行代码,而且当你其中某一项写错了之后,就得不到正确的结果。而且这只是从1加到10,如果从1加到100,甚至1000呢,那你是不是要写102行,甚至1002行代码?这是不太真实的。
下面是使用循环的代码
var sum = 0;
var i =1;
while(i < 10){
sum+=i;
i++;
}
上面的代码就比较简洁,使用了5行代码,大大减少了我们的书写量,而且容错率较低。同时也实现了上面代码的功能,两者结果都一样。就算你是加到100,甚至是1000,他只需要把10改为100,就可以了。
既然我们初步了解了循环的好处,就让我们了解下while、do while和for循环,看一下他们有什么不同之处。
3.while循环
定义:当....则.......,当某个条件成立时,我们就重复做。
案例:
var sum = 0;
var i =1;
while(i < 10){
sum+=i;
i++;
}
alert(sum);
就用上面的那个代码。
4.do while循环
定义:与while一样,但是也有不同。
案例:
var sum = 0;
var i =1;
do{
sum+=i;
i++;
}while(i < 10);
alert(sum);
5.do while与while的不同
那么他们两的区别在哪呢?虽然他们都是需要判断的,但是他们的不同就在判断上面。
while是先判断在执行语句,do while是先执行后判断。
通过上面的语句理解,看上去是没什么不同。不都是判断和执行吗,就是顺序不一样。
没错,就是顺序不一样,才会导致他们两个不同。
下面就使用案例来看一下顺序的不同会导致怎么样的结果。
案例:输入一个数,求这个数到10的和
var p = Number(prompt("请输入一个自然数"));
var sum = 0;
while (p < 10){
sum += p;
p++;
}
alert(sum);
var p = Number(prompt("请输入一个自然数"));
var sum = 0;
do{
sum += p;
p++;
}while (p < 10);
alert(sum);
上面分别使用了while与do while,输入的数都是10,但是结果呢?
左边是while的,右边是do while的。结果完全不一样。
出现的原因就是判断与执行的顺序问题。现在都理解了吧。
6.for循环
for循环的格式一样。for( ){内容}
案例:也是求1到10的和
var sum = 0;
for(var i = 1;i <= 10;i++){
sum += i;
}
alert(sum);
7.总结
循环的出现是为了帮我们解决一些不相同但类似的问题。
如果循环的条件只要不是一开始就为假的话,那么三个循环都是一样的结果。取决于你擅长哪一个,就使用哪一个,但是三个都要掌握。
循环的四个要点:
1.初始状态:初始值sum。
2.循环条件:i<=10;
3.循环体:sum+=i;
4.为下次循环做准备:i++;
每一个循环都可以这样分,我们可以把一个问题这样分开,然后我们就好写代码了。