循环

来源:互联网 发布:session php注册示例 编辑:程序博客网 时间:2024/05/18 02:14

循环

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的不同

如果我们不能理解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++;

每一个循环都可以这样分,我们可以把一个问题这样分开,然后我们就好写代码了。