• 循环


    循环:一遍又一遍重复执行的相同代码或相似的代码
    循环特点:
    1、循环的条件
    规定了循环的执行次数
    2、循环操作
    要执行相同或相似的语句--循环做什么事情
    3、循环的变量
    做循环的记录
    while循环结构
    1、语法
    while(条件){//条件:得到的结构必须是boolean
    //循环体 ---重复做的事情
    }
    循环语句中的控制语句
    1、continue
    终止本次循环的执行,继续下一次循环
    2、break
    退出循环结构
    流程:
    1、判断 循环条件
    2、如果条件为真,则执行循环体 ; 更改循环变量的值 ----更改的方向是趋向于结束循环
    3、再一次判断条件 ,如果条件为真则继续执行循环体 ....
    4、止到条件为假 ,则结束循环

    例子:

    用while()循环来计算1+2+3 ... +98+99+100的值:

     

    <html>
      <head>
      <title>计算1+2+3 ... +98+99+100的值</title>
      </head>
      <body>
      <script language="JavaScript" type="text/javascript">
        var total=0;
        var i=1;
        while(i<=100){
            total+=i;
            i++;
          }
      alert(total);
      </script>
    </body>
    </html>


     

    例子

    珠峰海拔8848米,现在有足够大的纸,厚度是0.01米,折多少次高度可以超过珠穆朗玛峰

    var i=0;
    while(h<8848){
    h*=2;
    i++;
    }
    document.write('折叠'+i+'次能超过珠穆朗玛峰,'+'纸高:'+h);

     

    do...while循环结构

    1.语法:
    do{
    //循环体
    }while(条件)
    2.流程
    1、执行一次循环体
    2、判断循环条件是否满足
    如果条件为真,则继续执行循环体
    如果条件为假,则退出循环
    3.do while 和 while之间的区别
    do..while至少执行一次 先执行 再判断
    while 可能一次都不执行 先判断 后执行

    do-while()循环来计算1+2+3 ... +98+99+100的值:

     代码如下 

    <html>
    <head>
    <title>计算1+2+3 ... +98+99+100的值</title>
    </head>
    <body>
    <script language="JavaScript" type="text/javascript">
    var total=0;
    var i=1;
    do{
        total+=i;
        i++;
    }while(i<=100);
    alert(total);
    </script>
    </body>
    
    </html>

    例子2.反复接收用户输入,且打印用户输入的内容,知道输入的是exit为止

    <script>
    
    function fun() {
      do{
      var input=prompt("请输入:");
      console.log(input);
      }while(input != "exit" );
    }
    
    </script>
    
    <button onclick="fun()">反复接收用户输入(do..while版)</button>

    for循环

    1、语法
    for(表达式1;表达式2;表达式3){
    循环操作 4
    }
    表达式1:声明条件 1
    表达式2:循环条件判断 2
    表达式3:更新循环变量 3

    例子:/控制台打印1-100之间所有的数字

    function fun(){
      for(var i=1;i<=100;i++){
      console.log(i);
      }
      console.log(i);
    }

     打印10*10个※的正方形,效果如下:

    ※※※※※※※※※※
    ※※※※※※※※※※
    ※※※※※※※※※※
    ※※※※※※※※※※
    ※※※※※※※※※※
    ※※※※※※※※※※
    ※※※※※※※※※※
    ※※※※※※※※※※
    ※※※※※※※※※※
    ※※※※※※※※※※

    <script>
    //打印10*10个※的正方形
    var s='';
    for(var i=0;i<10;i++){
                    for(var h=0;h<10;h++){
                        s+='※';
                    }
                    s+='
    ';
                }
                console.log(s)
    </script>

    打印出下图所示图形

    ※※※※※※※※※※
    ※※※※※※※※※
    ※※※※※※※※
    ※※※※※※※
    ※※※※※※
    ※※※※※
    ※※※※
    ※※※
    ※※

    var s='';
    for(var i=0;i<10;i++){
        for(var h=i;h<10;h++){
        s+='※';
        }
        s+='
    ';
    }
    console.log(s)

    计算100内不能被7整除的所有数的和

    var s=0;
    for(var i=0;i<=100;i++){
        if(i%7==0){
        continue;
        }
        s+=i;
    }
    console.log(s)

    200-300中第一个能被7整除的数

    for(var i=200;i<300;i++){
        if(i%7==0){
            console.log(i);
            break;
        }
    }
    九九乘法口诀表
    <script type="text/javascript">
      for(var i=1;i<=9;i++){
      for(var j=1;j<=i;j++){
      document.write(j+"*"+i+"="+i*j+"	");
      }
      document.write("<br />");
      }
    
    </script>

    判断101-200之间有多少个素数,并输出所有素数。

    function fun1(){
      for(var i=101,count=0;i<200;i++){
      var flag=false;
      for(j=2;j<i;j++){
      if(i%j == 0){
      flag=false;
      break;
      }else{
      flag=true;
      }    
    }
      if(flag){
      count++;
      console.log("素数为:"+i)
    }
    }
    }

    打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

    例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。   

    for(i=100;i<1000;i++){
                          var a= parseInt(i%10);     //个
                          var b=parseInt((i/10)%10); //十
                          var c=parseInt(i/100);     //百
                          if(a*a*a+b*b*b+c*c*c==i){
                          document.write('水仙花数:'+i+'<hr />');
                          }    
                     }

    求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

    function fun(){
    var num = Number(prompt("请输入一个数:"));
    var count=Number(prompt("叠加的个数:"))
    var n=0,sum=0;//n表示每一个加数,sum表示所有累加的和
    for(var i=1;i<=count;i++){
    n=n*10+num;//每一个加数
    sum+=n;
    }
    console.log(sum);
    
    }

    猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

    以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

    第一天采了 x 个桃子,x/2 - 1 = 剩下的桃子。
    // 所以 ( 剩下的桃子 + 1 ) * 2 = 等于 x ,此处的 x 为前一天的桃子
    // var x
    // for(x=1;x<=9;x++){
    // x=(x+1)*2;

    // console.log(x)
    // }
     前一天/2 - 1 =后一天
     后一天 + 1 = 前一天/2
    前一天 = (后一天 + 1)*2

    function tao() {
    var sum = 1 // 第10天 剩余1个
    for (var i = 9 ; i > 0 ; i --) {
    // i 等于几 就是计算第几天时候的 桃子,最后i 等于1 计算第一天的
    sum = (sum + 1) * 2
    }
    console.log('第一天共摘了多少'+sum+'个桃')
    }

    有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。

    问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

    var sum=10
    for(var i=0;i<4;i++){
    sum=sum+2;
    }    
    console.log(sum)

    计算用户输入的数字的阶乘,例如用户输入的是5,则计算5的阶乘,5的阶乘为 5*4*3*2*1

    var num=prompt("输出一个数的阶层")
    var sum=1;
    for(var k=2;k<=num;k++){
    sum=k+"*"+sum;
    }
    document.write("阶层为:"+sum)

    定义一个函数,返回1+1/3+1/5+1/7+....1/n的和

    function fun(){
    var n=prompt("输出一个数");
    var sum=0;
    for(var i = 1; i <=n; i++){
    if(i%2!=0){
    sum+=1/i;
    }    
    console.log("和为:"+sum)    
    }    
    }

    1~100奇数和

    var sum=0;
    for(var i=1;i<=100;i+=2){
    sum+=i;
    }
    document.write(sum+"<br />");


    1~100偶数和

    var sum=0;
    for(var i=2;i<=100;i+=2){
    sum+=i;
    }
    document.write(sum);

     

    小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?

    //a=洗发水,b=香皂,c=牙刷
    //100元可以买6瓶洗发水
    for(var a=0;a<=6;a++){
    //100元可以买50块香皂
    for(var b=0;b<=50;b++){
    //100元可以买20个牙刷
    for(var c=0;c<=20;c++){
    //条件
    if(15*a+2*b+5*c==100){
    document.write("洗发水:"+a+"香皂:"+b+"牙刷:"+c+"<hr />");
    }
    }
    }
    }

    打印出下列图形

      ●●●●●●●●
      ●●●●●●●●
      ●●●●●●●●
      ●●●●●●●●
      ●●●●●●●●
      ●●●●●●●●
      ●●●●●●●●

    //循环的行数
    for(var x=1;x<=7;x++){
    //循环的列数
    for(var y=1;y<=8;y++){
    document.write('●');
    }
    //循环完每一行输出一个换行
    document.write('<br />');
    }

    求1-100之间能被3整除的所有数

    <script type="text/javascript">
       var sum = 0;
       for(var i =0;i<= 100;i++){
        if (i%3 == 0){
         sum += i;
         
         
        }
       }
       document.write(sum);
    
     
  • 相关阅读:
    IOS之UIKit_Day13
    IOS之UIKit_Day12
    IOS之UIKit_Day11
    IOS之UIKit_Day10
    iOS设计模式之工厂模式
    常用操作
    盒子模式
    block循环使用问题
    IOS-sqlite3
    IOS-View用作控制器
  • 原文地址:https://www.cnblogs.com/conlover/p/10867961.html
Copyright © 2020-2023  润新知