JavaScript04

1.循环

循环是一遍又一遍执行相同或者相似的代码
循环的两个要素
循环条件:控制循环是否要继续执行
循环体:要执行的相同或者相似的代码

(1)while循环

在这里插入图片描述

while(循环条件){ 循环体}

/*
//循环10次 1~10
//初始化
var i = 1;
while(i<=10){ //循环条件
  //循环体
  console.log('涛哥跑了一趟超市',i);
  //增量
  i++;
}

//练习:打印30~21之间所有的整数
//初始值
var i = 30;
while(i >= 21){//循环条件
  //循环体
  console.log(i);
  //增量
  i--;
}
console.log('循环结束后i='+i);

//练习:循环打印70  65  60  55  50
//初始值
var i = 70;
while(i >= 50){//循环条件
  //循环体
  console.log(i);
  //增量
  i -= 5;
}

//练习:打印1~100之间所有的偶数,结合if判断
//初始值
var i = 1;
while(i <= 100){//循环条件
  //循环体
  //i代表所有整数
  //判断i是否为偶数
  if(i % 2 === 0){
    //i代表偶数
    console.log(i);
  }
  //增量
  i++;
}

//练习:计算1~100之间所有整数的和
//初始值
var i = 1;
//声明变量,用于保存总和
//初始值为0
var sum = 0;
while(i <= 100){//循环条件
  //循环体
  //i代表1~100之间所有整数
  //把产生的每一个整数加到sum
  //每次是在原来的基础之上加
  //sum = sum + i; //0 + 1 + 2 + 3..+100
  sum += i;
  //console.log(sum);//每次加一个数字打印一次
  //增量
  i++;
}
//循环结束后,打印最终的sum
console.log(sum);
*/
//计算1~100之间所有偶数的和
var i = 1;//初始值
var sum = 0;//声明变量,用于保存总和
while(i <= 100){//循环条件
  //循环体
  //i代表所以的整数
  //判断i是否为偶数
  if(i % 2 === 0){
    //i是偶数
    sum += i;
  }
  i++;//增量
}
console.log(sum);


(2)break

在循环体中使用,用于强制结束循环。

/*
//打印1~100之间所有的整数
var i = 1;
while(true){
  //循环体
  console.log(i);
  //当i为100的时候,强制结束
  if(i === 100){
    break;
  }
  //增量
  i++;
}
*/
//练习:使用死循环的方式计算11~20之间所有整数的乘积
var i = 11;
var s = 1;//声明变量,用于保存所有整数的乘积
while(true){
  //i代表所有的整数 11~20
  //console.log(i);
  //求乘积,把每个数字乘以到s中
  s *= i;
  //如果i是20,强制结束循环
  if(i === 20){
    break;
  }
  i++;
}
//循环结束后,打印最终的结果
console.log(s);
continue
var i = 1;
        while (i<10) {
            //增量
            i++;
            //当i为100的时候,强制结束
            if (i === 5) {
                continue;
                console.log("i是5");
            }
             //循环体
             console.log(i);
        }

(3)do-while循环

在这里插入图片描述

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

/*
//循环打印1~10之间所有的整数
var i = 1;//初始值
do{
  //循环体
  console.log(i);
  //增量
  i++;
}while(i <= 10);//循环条件
//

//练习:使用循环打印80~71之间所有的整数
//初始值
var i = 80;
do{
  //循环体
  console.log(i);
  //增量
  i--;
}while(i >= 71);//循环条件

//练习:打印1~100之间所有的奇数
//循环产生所有整数
var i = 1;
do{
  //i代表所有的整数
  //判断i是否为奇数
  if(i % 2 === 1){
    console.log(i);
  }
  i++;
}while(i <= 100);

//练习:计算1~100之间所有奇数的和
var i = 1;
var sum = 0;//声明变量用于保存总和
do{
  //i代表所有整数
  if(i % 2 === 1){
    //i代表所有的奇数
    //把所有的奇数加到sum中
    sum += i;
  }
  i++;
}while(i <= 100);
//循环结束后,打印最终的总和
console.log(sum);
*/
//练习:假设有一张纸厚度是0.0001米,折叠多少次以后能达到珠穆朗玛峰的高度(8848米)
//声明变量记录纸的厚度(折叠一次,厚度乘以2)
var height = 0.0001;
//声明变量记录次数
var count = 0;
do{
  //循环体
  //折叠一次,厚度乘以2
  height *= 2;
  //折叠一次,查看厚度
  console.log(height);
  //折叠一次,次数加1
  count++;
}while(height < 8848);
//循环条件(判断是否达到了8848米,如果不满8848继续循环)
//循环结束后,查看折叠的次数
console.log(count);


练习:声明变量记录银行卡的密码’123456’,死循环弹出提示框,要求用户输入密码,如果密码输入正确,则警示框弹出’login success’,并强制结束循环;如果次数达到了3次,警示框弹出’more than three’,并强制结束循环。

05_dowhile.js 05.html

//练习:声明变量记录银行卡的密码'123456',死循环弹出提示框,要求用户输入密码,如果密码输入正确,则警示框弹出'login success',并强制结束循环;如果次数达到了3次,警示框弹出'more than three',并强制结束循环。
/*
var pwd = '123456';
//声明变量记录次数
var count = 0;
do{
  //获取用户输入的密码
  var str = prompt('input password');
  //如果密码输入正确
  if(str === pwd){
    alert('login success');
	break;
  }
  //每输入一次记录一次
  count++;
  //如果次数为3,吞卡
  if(count === 3){
    alert('more than three');
	break;
  }
}while(true);
*/

var pwd = '123456';
do{
  //用户输入的密码
  var str = prompt('input password');
}while(str !== pwd);
//如果输入正确 —— false,要结束循环
//如果输入错误 —— true,继续循环

(4)for循环

在这里插入图片描述

for(初始值; 循环条件; 增量){ 循环体}

/*
//循环打印1~10之间所有的整数
for(var i = 1;i <= 10;i++){
  //循环体
  console.log(i);
}

//练习:打印1~100之间所有能被3整除的数字
for(var i = 1;i <= 100;i++){
  //i代表所有整数
  //判断i是否能被3整除
  if(i % 3 === 0){
    console.log(i);
  }
}

//练习:计算1~100之间所有能被7整除的数字的和
for(var i = 1,sum = 0;i <= 100;i++){
  //判断是否能被7整除
  if(i % 7 === 0){
    sum += i;
  }
}
console.log(sum);


//多个循环条件后边会覆盖之前的
for(var i=1,j=10;j>=1,i<=20;i++,j--){
  console.log(i,j);
}

//练习:计算以下运算的结果
// 1/30 + 3/28 + 5/26 + 7/24 + 9/22 + 11/20 + 13/18
for(var i=1,j=30,sum=0;i<=13;i+=2,j-=2){
  //console.log(i,j);
  //把i和j相除的结果加到sum
  sum += i/j;
}
console.log(sum);
*/

//12345
//1*5= 2*5= 3*5= 4*5= 5*5=
//1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
//循环打印出12345
for(var i = 1,str = '';i <= 5; i++){
  //console.log(i);
  //每次循环产生的数字i,拼接到str
  //str = str + i; //''+1+2
  str += i+'*5='+(i*5)+' ';
}
console.log(str);
(5)break和continue

break 强制结束循环,后续不再执行任何循环中代码
continue 跳过剩余的循环体,后续还会执行其它代码

/*
//打印1~10之间所有整数,不包含5
for(var i = 1;i <= 10;i++){
  console.log(i);
  //如果i为5
  if(i === 5){
    //break; //强制结束循环
    continue; //跳过剩余循环体
  }
}
*/
//练习:打印出1~100之间所有的整数,遇到能被3或者4整除就跳过
for(var i = 1;i <= 100;i++){
  //判断i是否能被3或者4整除
  if(i % 3 === 0 || i % 4 === 0){
    continue;
  }
  console.log(i);
}

(6)循环嵌套

在任意一个循环体中,包含了其它的循环。
任意两个循环都可以相互嵌套

//循环产生*****
 for(var j = 1;j <= 5;j++){
  //循环体中的内容重复执行
  //内层:控制每一行循环的列数
  //*  <=1
  //**  <=2
  //***  <=3
  //循环条件:由每一行的行数j决定
  for(var i = 1,str = '';i <= 5;i++){
    //console.log('*');
    //每循环一次,拼接一个*
    str += '*';
  }
  console.log(str);
}

//外层:控制循环的行数
for(var j = 1;j <= 9;j++){
  //循环体中的内容重复执行
  //内层:控制每一行循环的列数
  //*  <=1
  //**  <=2
  //***  <=3
  //循环条件:由每一行的行数j决定
  for(var i = 1,str = '';i <= j;i++){
    //console.log('*');
    //每循环一次,拼接一个*
    str += '*';
  }
  console.log(str);
}

课后任务
①打印出2000~2100之间前10个闰年

//①打印出2000~2100之间前10个闰年
//声明变量记录闰年的个数
for(var i = 2000,count = 0;i <= 2100;i++){
  //i代表所有的年份
  //判断是否为闰年
  if(i % 4 === 0 && i % 100 !== 0 || i % 400 === 0){
    console.log(i);
	//闰年的个数加1
	count++;
	//判断闰年的个数是否为10
    if(count === 10){
	  //强制结束循环
	  break;
	}
  }
}
//循环结束后,打印闰年的个数
console.log(count);

②声明变量保存任意一个数字,查看该数字是否为素数(质数),如果是打印‘是素数’,否则打印‘非素数’

素数:除了1和自身以外不能被其它的数字整除。

//②声明变量保存任意一个数字,查看该数字是否为素数(质数),如果是打印‘是素数’,否则打印‘非素数’
//素数:除了1和自身以外不能被其它的数字整除。
//1以上的整数中
var n = 2;
//查找1~n之间(不包含1和n这两个数字),是否有能被n整除的数字,如果有说明不是素数
//不包含1,初始值只能是2
//不包含n,循环条件 <n
//声明变量用于记录能被整除的个数
for(var i = 2,count = 0;i < n;i++){
  //i代表1~n之间所有的整数
  //判断是否有能被n整除的数字
  if(n % i === 0){
    //数量加1
	count++;
  }
}
//循环结束后,如果count的值还是0,说明中间没有能够整除的数字,也就说明是素数
if(count === 0){
  console.log('素数');
}else{
  console.log('非素数');
}
*/

③使用循环嵌套打印九九乘法表

//③使用循环嵌套打印九九乘法表
/*
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
*/
//外层循环:控制循环的行数,i代表行数
for(var i = 1;i <= 9;i++){
  //内层循环:控制每一行循环的列数,j代表列数
  //循环条件是由所在的行数i决定
  for(var j = 1,str = '';j <= i;j++){
	//每次循环产生一列,拼接一列
    str += j + '*' + i + '=' + (i*j) + ' ';
    //如果是第3行或者第4行,并且是第2列,再继续拼接一个空格
	if((i === 3 || i === 4) && j === 2){
	  str += ' ';
	}
  }
  //当每一行循环结束,打印拼接的这些列
  console.log(str);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值