循环辅助语句

来源:互联网 发布:天庭淘宝城txt下载八零 编辑:程序博客网 时间:2024/05/06 07:05

break:跳出所在的switch或者循环结构

案例:素数判断

 /* * 题目:输入一个整数,判断是否为素数 * 素数:对于自然数,如果它只有1和本身之外再没有其他因子 * 解题思路: * (1)输入一个数num * (2)在[2,n-1]之间去寻找因子, * (3)如果找到则设置找到标志,并提前结束 * (4)根据标志输出相应的结果 * */ var num = Number(prompt("请输入一个整数")); var m = Math.ceil(Math.sqrt(num));//根据相关数学定理,查找范围可缩小[2,m] var found = false;//找到因子的标记 for(var factor=2; factor<=m; factor++){//遍历找出所有符合的因子     if(num%factor ==0){        found = true;         break;//找到则提前结束     } }alert(found?"不是素数":"是素数");


continue:结束本次循环,开启下一次循环。

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

常规思路:对满足条件的数累加

var sum = 0;for(var n=1; n<=100; n++){    if(n%3!=0&&n%5!=0){        sum += n;    }}alert(sum);


另一种思路:不满足条件的就放过

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


第二种思路的好处是:结构清晰

也就是我们在进行数据处理之前,先把各种不符合条件的情况先排除,然后在处理符合条件的情况(这个一般是程序的主体)

如果循环体的主体代码的执行有两个前提条件,常规思路是这么写的,如果循环体主体代码较多,该程序的可读性

for((......){      if(条件1){         if(条件2){            循环体主体代码(可能代码比较多)        }else{           alert(“错误提示2”)        }      }else{        alert(“错误提示1”)      }}


换另外一个思路来描述,是这样的

for(.......){         if(!条件1){            alert(“错误提示1”);            continue;         }         if(!条件2){            alert(“错误提示2”);            continue;         }         循环体主体代码}


原创粉丝点击