js中的循环和一些小练习

li

认识循环

当一段代码需要被重复使用多次我们就可以使用循环,一可以减少代码量,二可以避免我们忘记该第几遍书写代码。

我们分为三种循环的书写方式(1)while(2)do...while(3)for

循环的注意要点(1)循环的开始条件(2)循环的结束条件(3)确定循环的步长(几步来完成)

(4)需要循环的部分(循环体)

(1)while循环:

语句结构:while(条件:注意这里的条件是结束的条件){

循环体

步长

}

注意:步长执行完毕之后会返回到条件的地方,询问条件是否成立,如果成立就进入{}执行代码
如果条件不成立循环就会结束。
写循环的时候步长一定要写,如果不写步长,我们的变量的值就不会发生改变,如果变量值不发生改变条件就会一直成立,就会一直循环下去,造成无限循环,一直循环我们成为死循环

例1:利用循环生成一组从200到250的数字

        /* 
            利用循环生成一组从200-250的数字
            1.起始值200
            2.结束条件:<=250
            3.步长:一次+1
            4.循环体:重复打印变量的值
        */
        var i = 200
        while (i <= 250) {
            console.log(i);
            i++
        }

        

 例2.利用循环打印出1-10之间的奇数

        /* 
            利用循环打印出1-10之间所有的奇数
            
        */

        var i = 1
        while (i <= 10) {
            if (i % 2 != 0) {
                 console.log(i);
            }
             i++
        }

例三。利用循环打印出1000-2000之间的闰年 

        /* 
            利用循环打印出1000-2000之间所有的闰年
            闰年的条件:能被4整除并且不能被100整除,或者能被400整除
            
        */

        var i = 1000
        while (i <= 2000) {
            if (i % 4 === 0 && i % 100 != 0 || i % 400 === 0) {
                console.log(i);
            }
            i++
        }

例4. 利用循环求1-100之间的所有数字累加之和

var sum = 0//用来保存和
var i = 1
while (i <= 100) {
    // sum = sum + i
    sum += i
    i++
}
console.log(sum);

例5.求10!(求10的阶乘)

var chengji = 1
        var i = 10
        while (i >= 1) {
            // chengji = chengji * i
            chengji *= i
            i--
        }
        console.log(chengji);

do...while循环:

do...while循环的基本语法,与while很相似。do...while是先干再判断。
 do{
     循环体
     步长
 }
 while(条件)

for循环:

f语法:
    for(定义初始值;结束条件;步长){
        循环体
    }

例1.用for循环求200-300之间能被3整除的数之和

var sum = 0
for (var i = 200; i <= 300; i++) {
    if (i % 3 == 0) {
        sum += i
    }
}
console.log(sum);

例2.用for循环求水仙花数  解释:

                  水仙花数是1个三位数,每一位的立方和是该数本身,满足这种条件的就是水仙花数

                  比如153就是水仙花数,因为153是3位数字,并且1*1*1+5*5*5+3*3*3 = 153

        for (var i = 100; i <= 999; i++) {
            var ge = i % 10
            var shi = parseInt(i / 10) % 10
            var bai = parseInt(i / 100)
            // if (ge * ge * ge + shi * shi * shi + bai * bai * bai === i) {
            //     console.log(i);
            // }
            if (ge ** 3 + shi ** 3 + bai ** 3 === i) {
                console.log(i);
            }
        }

在循环中的if判断语句意思是当满足各位的立方+十位的立方+百位的立方等于这个数自身时满足水仙花数的定义。

循环中可以添加的单词:

 break:这个单词用在循环中表示结束循环的一次,只要在循环中碰到break,那么这个循环就会立即停止
 continue:这个单词用在循环中表示跳过的意思,只要在循环中碰到continue,那么本次循环将不再继续,也就是continue之后的代码将不再执行,而是会立即返回去重新开始下一次。

循环嵌套:

利用循环嵌套写九九乘法表:

        for (var j = 1; j <= 9; j++) {//j=3
            for (var i = 1; i <= j; i++) {//i=1 1<=3
                document.write(i + '*' + j+'='+(i*j)+'&nbsp;')//i*j  1*3 2*3  3*3
            }
            document.write('<br>')
        }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值