循环辅助语句 和循环嵌套

循环辅助语句:

就像游戏一样,循环也是要求有辅助的,但这里的辅助而并不属于循环本身。

第一个介绍的是break:跳出所在的switch或者循环结构(多用于否定思维判断)。

案例:素数判断(是不是很经典)

varn = Number(prompt("请输入一个自然数"));
varm =Math.ceil(Math.sqrt(n));//根据数学定理,判断范围可进一步缩小至【2,sqrt(n)】
varflag =false;
for(vari=2;i<=m;i++){
    if(n % i == 0){
        flag =true;
        break;//找到则提前结束
    };
};
alert(flag?"不是素数":"是素数");

break在这里的作用就是如果能够找到一个被能整除的数,就提前结束。如果不使用break,那么就必须找到全部的能被整除的数,

如果这样,是不是很浪费计算机资源?

再来给大家介绍一个continue:表示结束本次循环,开启下一次循环。

案例:对100以内既不是3的倍数,也不是5的倍数的数求和

常规思路是这样写的

var sun = 0;

for(var n=1; n<100;n++){

if(n%3==0 && n%5==0){

sum+=n;

}

}

alert(sum);

而continue思路是这样的

   var sum = 0;
   for(var n=1; n<100; n++){
   if(n % 3 == 0 || n % 5 == 0){
       continue;//结束本次循环
}
       sum += n;
}
alert(sum);

请注意:这里的 if语句是“或”

如果n只是满足其中一个条件,那么就结束本次循环,去进行下次循环

continue和break的区别就是,break结束整个循环,而continue是结束本次循环,开启下次循环。

这种思路的好处是:结构清晰,也就是我们在进行数据处理之前,先把各种不符合条件的情况先排除,然后在处理符合条件的情况

(这个一般是程序的主体)

如果循环的主体代码的实行有两个前提条件,常规思路如下:

for(){

If(){

If(){

 

}

}

}

这种循环主体代码较多,程序的可读性较差。

那么我们可以换种思路:

For(){

If(!条件1){

Alert(错误提示1)

Continue;

}

If(){

Alert(错误提示1)

}

循环体主体代码

}

循环嵌套;

为什么要有循环嵌套:
因为一件事情的内容需要重复做,而且这个事情要重复做。
什么时候用循环的嵌套:
一般有行数和列数并且两者之间存在关系时候用循环的嵌套。
比如等腰三角形的输出
for(var i=1; i<=9; i++){
     for(var j=1; j<=i; j++){
         document.write("*");
     }
         document.write("</br>");
 }
等腰三角形的输出:
for(var i=1; i<num; i++){
        for (var j = num - i; j > 0; j--) {
            document.write("&nbsp");
        }
        for (var k = 1; k <= i * 2 - 1; k++) {
            document.write("*")
        }
        document.write("<br>");

两者有制约关系
一个是全局把控  另一个是细节的填充





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值