当前位置: 代码迷 >> 综合 >> (2020-10-27)javascript循环语句和跳出循环
  详细解决方案

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

热度:29   发布时间:2024-03-09 01:38:50.0

知识梳理:

  • 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;}}     

 

  相关解决方案