(2020-10-27)javascript循环语句和跳出循环

知识梳理:

  • do...while语句

描述:do..while循环和while循环非常像,二者经常可以相互代替,但是do..while的特点是不管条件成立不成立,都会执行一次。

语法:

do {
 // 循环体;
} while (循环条件);

案例:求100以内所有3的倍数的和

var i=0;
        var sum=0;
        do{
            if(i%3==0){
                sum+=i;   
            }              
            i++;
        }while(i<=100);
        console.log(sum);
        console.log(i);

使用do-while循环:输出询问“我爱你,嫁给我吧?”,选择“你喜欢我吗?(y/n):",如果输入为y则打印”我们形影不
离“,若输入为n,则继续询问

do{
            alert("我爱你,嫁给我吧?")
            var a = prompt("你喜欢我吗?");
            if(a=='y'){
                alert('我们形影不离');
            }else if(a=='n'){
                alert('选错了,重新选')
            }else{
                alert('输入格式有误');
            }
        }while(a!='y');
  • for语句

描述:while和do..while一般用来解决无法确认次数的循环。for循环一般在循环次数确认的时候比较方便。

语法:

// for循环的表达式之间用的是;号分隔的,千万不要写成,
for (初始化表达式1; 判断表达式2; 自增表达式3) {
 // 循环体4
}

执行顺序:1243 ---- 243 -----243(直到循环条件变成false)
1. 初始化表达式
2. 判断表达式
3. 自增表达式
4. 循环体

案例:打印1-100之间所有数

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

求1-100之间所有数的和

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

求1-100之间所有数的平均值

var sum=0;
        for(i=1;i<=100;i++){
            sum+=i;
            a=sum/i;
        }
        console.log(a);

求1-100之间所有偶数的和

var sum=0;
        for(i=1;i<=100;i++){
            if(i%2==0){
                sum+=i;
            }
        }
        console.log(sum);

打印正方形

var str ='';
            //外部循环 控制行数
            for (var j = 0; j < 10; j++){
             //内部循环 控制每行输出个数
                for (var i = 0; i < 10; i++){
                     str+= '* ';
                 }
                 str = str + '\n';
             }
             console.log(str);

求1-100之间所有数的乘积

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

求1-100之间所有奇数的和

var sum=0;
        for(i=1;i<=100;i++){
            if(i%2!=0){
                sum+=i;
            }
        }
        console.log(sum);

计算1-100之间能3整除的数的和

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

计算1-100之间不能被7整除的数的和

var sum=0;
        for(i=1;i<=100;i++){
            if(i%7!=0){
                sum+=i;
            }
        }
        console.log(sum);

本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少?

var sum=10000;
        for(i=0;i<5;i++){
            sum+=sum*0.003;
        }
        console.log(sum);


有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。已知一对兔子每个月可以生一
对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。假如一年内没有发生死亡现象,那么,一对兔子一年内(12个
月)能繁殖成多少对?(兔子的规律为数列,1,1,2,3,5,8,13,21)

var sum=0;
        var a=1;
        var b=1;
        for(i=3;i<=12;i++){
            sum=a+b;
            a=b;
            b=sum;
        }
        console.log(sum);
  • continue和break

描述:break:立即跳出整个循环,即循环结束,开始执行循环后面的内容(直接跳到大括号)
continue:立即跳出当前循环,继续下一次循环(跳到i++的地方)

案例:求整数1~100的累加值,但要求碰到个位为3的数则停止累加

var sum=0;
        for(i=1;i<=100;i++){
            if(i%10==3){
                break;
            }
            sum+=i
        }
        console.log(sum);

求整数1~100的累加值,但要求跳过所有个位为3的数

var sum=0;
        for(i=1;i<=100;i++){
            if(i%10==3){
                continue;
            }
            sum+=i
        }
        console.log(sum); 

拓展练习:

求1-100之间不能被7整除的整数的和(用continue)

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

 求200-300之间所有的奇数的和(用continue)

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

求200-300之间第一个能被7整数的数(break)

for(i=200;i<=300;i++){
            if(i%7==0){
                console.log(i);
                break;
            }
        }     

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值