您的位置:首页 > 其它

循环辅助语句

2017-08-01 09:36 253 查看
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;
}
循环体主体代码
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: