for 循环

首先我们可以先了解一下 循环 的目的是什么?

       循环的目的主要是用来执行一些重复性的操作;

语法结构:

        for 循环主要用于把某些代码循环若干次,通常跟计数有关系;

        for(初始化变量; 条件表达式; 操作表达式){
            循环体
        }
  1. 初始化变量:就是用var 声明的一个普通变量,通常用于作为计数器使用;
  2. 条件表达式:用来决定每一次循环是否继续执行,就是终止循环的条件
  3. 操作表达式:是每次循环最后执行的代码,经常用于我们计数器变量的更新(自增或自减);

执行过程:

        for(var i = 1; i <= 10; i++){
            alert('你好,javascript');
        }
  1. 首先执行里面的计数器变量 var i = 1;但是这句话只在for中执行一次;
  2. 判断 i <= 10;
  3. 如果满足条件就执行循环体 alert(...)里面的内容,如果不满足条件 就退出循环;
  4. 然后执行 i++ 自增;接着再去执行 循环体里面的内容,如果满足条件,就去执行循环体,不满足条件的话 退出循环;
  5. 再次执行 i++ 自增,接着再去执行 循环体里面的内容,如果满足条件,就去执行循环体,不满足条件的话 退出循环;
  6. .......

    for 循环不光可以执行相同的代码,还可以执行不同的代码,因为我们有计数变量 i 的存在,i 每次的循环值都会变化。

        for(var j = 1; j <= 10; j++){
            if(j == 3){
                console.log('你已经三岁了!!!!');
            }else if( j > 9) {
                console.log('你已经是小大人了');   
            }else {
                console.log('你已经'+j+'岁了');
            }
        }
// 执行结果:
//你已经1岁了
// 你已经2岁了
// 你已经三岁了!!!!
// 你已经4岁了
// 你已经5岁了
// 你已经6岁了
// 你已经7岁了
// 你已经8岁了
// 你已经9岁了
// 你已经是小大人了

计算1 ~ 100 之间的整数的累加和:

        var sum = 0; //声明一个求和的变量
        for(var k = 1; k <= 100; k++){
            sum = sum + k;
        }
        console.log(sum);

案例:

// 求1~100之间的数的平均值:

        var sum = 0; //声明一个求和的变量
        for(var k = 1; k <= 100; k++){
            sum = sum + k;
        }
        console.log(sum/100); // 50.5


// 求1~100之间所有偶数和奇数的和
        var s = 0;
        var f = 0;
        for(var l = 1; l <= 100; l++){
            if(l % 2 == 0){
                s = s + l;
            }else {
                f = f + l;
            }
        }
        console.log(s,f); // 2550    2500

// 求1~100 之间的所有能被3整除的数字的和
        var end = 0;
        for(var x = 1; x <= 100; x++){
            if(x % 3 == 0){
                end += x;
            }
        }
        console.log(end);  // 1683


// 求学生的平均成绩:
//   弹出输入框输入总的学生人数,根据输入的总的学生人数,弹出对应人数的成绩,计算出总成绩和平均成绩;
        var some = 0;
        var c = prompt('请输入我们班总共有多少人?');
        for(var h = 1; h <= c; h++){
            var tu = prompt('请输入第'+h+'个学生的成绩');
            some = some + parseFloat(tu);// 因为prompt得到的是一个字符串类型的,所以需要对其转换成数字型的,因为成绩可以是小数,所以转换成 parseFloat;
        }
        alert('学生的总成绩是'+some );
        alert('学生的平局成绩是:'+ some/c);

双重 for 循环

        循环嵌套是值在一个循环语句中再定义一个循环语句的语法结构,例如 在 for 循环语句中,在嵌套一个 for 循环,这样的 for 循环语句我们称之为 双重 for 循环

语法结构:

    for(外层的初始化变量; 外层的条件表达式; 外层的操作表达式){
        for(里层的初始化变量; 里层的条件表达式; 里层的操作表达式){
            执行语句;
        }
    }

    执行过程 

        我们可以把里面的循环看作是外层的循环语句;外层循环一次 里层循环执行全部;

// 我们可以通过代码 验证其执行过程:
    for(var i = 1; i <= 2; i++){
        console.log('我是“外层”的第'+i+'次循环');
        for(var j = 1; j <= 3; j++){
            console.log('我是里层的第'+j+'次循环');
        }
    }
// 我是“外层”的第1次循环
// 我是里层的第1次循环
// 我是里层的第2次循环
// 我是里层的第3次循环
// 我是“外层”的第2次循环
// 我是里层的第1次循环
// 我是里层的第2次循环
// 我是里层的第3次循环
// 打印一行五角星
    var str = ''
    for(var s = 1; s <= 5; s++){
        for(var h = 0; h <= 4; h++){
            str = str + '★'; //让一行显示5个星星,我们采取追加字符串的方法来解决;如果不写的话,就是单独一行写的;
        }
        str = str + '\n';
    }
    console.log(str);


// 根据用户输入的数字来进行打印
    var num = prompt('请输入你要打印几行几列的星星');
    var str = ''
    for(var s = 1; s <= num; s++){
        for(var h = 1; h <= num; h++){
            str = str + '★';
        }
        str = str + '\n';
    }
    console.log(str);


// 打印倒三角形
    var str = ''
    for(var q = 1; q <= 10; q++){ // 外层循环来控制打印的行数
        for(var hk = q; hk <= 10; hk++){ //里层循环打印的个数不一样,可以让hk = q;来依次减少
            str = str + '★';
        }
        str = str + '\n';
    }
    console.log(str);


// 打印正三角形
    var str = ''
    for(var q = 1; q <= 10; q++){ // 外层循环来控制打印的行数
        for(var hk = 1; hk <= q; hk++){ //里层循环打印的个数不一样,可以让hk <= q;来依次增加
            str = str + '★';
        }
        str = str + '\n';
    }
    console.log(str);


// 打印九九乘法表
    var str = ''; 
    for(var i = 1; i <= 9; i++){
        for(var e = 1; e <= i; e++){
            str = str + (e  + ' x ' + i + ' = ' +  i * e +  '\t'); // 1 x 2 = 2
        }
        str = str + '\n'
    }
    console.log(str);

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值