Javascript基础模块(二)

流程控制

分类

	顺序结构:从上往下按照顺序依次执行
    分支结构:根据不同的情况,执行对应的代码
    循环结构:重复去做同一件事情

一、分支结构 :

if…else

语法
if(条件的判断语句1){
    //满足条件1的执行语句
} else if(条件的判断语句2) {
    //满足条件2的执行语句
} else {
    //不满足1且不满足2
}
var num = 10;
    if(num == 11) {
        console.log('我不是num');
    } else if (num == 10){
        console.loh('我是num');
    } else {
        console.log('我也不是num');
    }
练习
//1、求两个数的最大值
    var num1 = 10, num = 20;
    if(num1 > num2) {
        console.log('num1是最大值');
    } else if(num1 < num2) {
        console.log('num2是最大值');
    } else {
        console.log('num1和num2相等');
    }

    //2、判断数的奇偶性
    var num3 = 0;
    num3 = parseInt(num3);
    if(num3 % 2 == 0) {
        console.log('是偶数');
    } else {
        console.log('是奇数');
    }
    
    //3、百分制转换成等级制
    var score = 176;
    if(score < 60) {
        console.log('垃圾,不及格');
    } else if(score >= 60 && score < 70) {
        console.log('说得过去,刚刚及格');
    } else if(score >= 70 && score < 80) {
        console.log('还可以,良好');
    } else if(score >= 80 && score < 90) {
        console.log('还行,优秀了');
    } else if(score >= 90 && score < 100) {
        console.log('给力,超越了');
    } else if(score == 100) {
        console.log('奥利给');
    } else {
        console.log('疯了,写错了')
    } 
//window.prompt('提示框的提示信息','输入框的值'); //弹出输入框
//4、判断一个人的年龄是否满18岁(是否成年)
var age = Number(prompt('请输入您的年龄:'));
    console.log(typeof age);
    if (isNaN(age)) {
        alert('请重新输入');
    } else if (age > 18) {
        console.log('成年了')
    } else {
        console.log('未成年')
    }


// 5、判断闰年平年
// 普通闰年:能被4整除且不能被100整除
// 世纪闰年:能被400整除
    var year = Number(prompt('请输入年份:'));
    if (isNaN(year)) {
        alert('请重新输入');
    } else if (year % 4 == 0 && year % 100 !== 0) {
        console.log(year + "年是普通闰年");
    } else if (year % 400 == 0) {
        console.log(year + "年是世纪闰年");
    } else {
        console.log(year + "年是平年");
    }

三目运算

 //三目运算就是if……else……的简写
 // ?  后边是条件满足后执行语句
 // : 后边是条件不满足后执行语句

这是if…else语句

 var num1 = 1;
    if (num1 > 0) {
        console.log('num大于0');
    } else {
        console.log('num小于0');
    }

这是三目运算语句

num1 > 0 ? console.log('num大于0') : console.log('num小于0');

switch…case语句

var day = Number(prompt("请输入今天周几"));
switch (day) {
        case 1:
            console.log("星期一");
            break;
        case 2:
            console.log("星期二");
            break;
        case 3:
            console.log("星期三");
            break;
        case 4:
            console.log("星期四");
            break;
        case 5:
            console.log("星期五");
            break;
        case 6:
            console.log("星期六");
            break;
        case 7:
            console.log("星期日");
            break;
        default:
            console.log('请重新输入');
// 注意:1、if语句的返回值肯定是布尔,会发生隐式转换
//      2、switch..case 表达式的类型不能是boolean类型,常用于等值判断,不会发生隐式转换
//      3、能用switch实现的肯定可以用if,反之不一定!

二、循环结构:

while语法

while(循环判断语句){
        循环体;
        自增(自减)语句;
    }

while练习

	//1、求1-100之间的和
    var i = 1;
    var sum = 0;
    while (i <= 100) {
        sum += i;
        i++;
    }
    console.log('1-100的和:' + sum);
    
    //2、打印100以内7的倍数
    var a = 1;
    while(a<=100){
        if(a%7==0){
            console.log(a);
        }
        a++;
    }
    
    //3、求0-100的奇数和与偶数和
    var j = 0;
    var sumO = 0, sumJ = 0;
    while (j <= 100) {
        if (j % 2 == 0) {
            console.log('偶数:' + j);
            sumO = sumO + j;
            
        } else {
            console.log('奇数:' + j);
            sumJ = sumJ + j;
        }
        j++;
    }
    console.log('奇数和:' + sumJ);
    console.log('偶数和:' + sumO);

do while语法

do {
  //循环体
} while(循环判断语句);
不管条件是否满足,都会执行一次,,先斩后奏

do while练习

  //1、100以内的和
  var sum = 0;
  var i = 1;
  do {
    sum += i;
    i++;
  } while (i <= 100);
  console.log('100以内的和为:' + sum);
  
  //2、打印100以内7的倍数
  var j = 1;
  do {
    if (j % 7 == 0) {
      console.log(j);
    }
    j++;
  } while (j <= 100);

for循环语法

for循环可以确定循环的次数

for(初始表达式;循环判断表达式;自增表达式){
        //循环体
  }
	//1、1-100的和
    var sum = 0;
    for (var i = 1; i <= 100; i++) {
        sum += i;
    }
    console.log(sum);

    //2、求0-100的奇数和与偶数和
    var sumO = 0, sumJ = 0;
    for (var i = 0; i <= 100; i++) {
        if (i % 2 == 0) {
            console.log(i + '是偶数');
            sumO += i;
        } else {
            console.log(i + '是奇数');
            sumJ += i;
        }
    }
    console.log("偶数和:" + sumO);
    console.log("奇数和:" + sumJ);

for循环练习

//1、打印正方形
    for(var i=0;i<=6;i++){
        document.write("♠♠♠♠♠♠♠♠♠♠♠♠");
        document.write("<br>");
    }

    //2、 嵌套循环
    // 外边的循环是行数
    for (var j = 0; j <= 6; j++) {
        // 里边的循环是每一行黑桃的个数
        for (var i = 0; i <= 11; i++) {
            document.write("♠");
        }
        document.write("<br>");
    }

    //3、打印三角形
    for (var j = 1; j <= 7; j++) {
        for (var i = 0; i < j; i++) {
            document.write("♠");
        }
        document.write("<br>");
    }

三、continue与break

// continue:跳出当前的循环,继续执行下次循环
// break:跳出整个循环,循环终止。
//打印100以内7的倍数
  for (var i = 1; i <= 100; i++) {
    if (i % 7 == 0) {
      if (i == 49) {
        continue;	//跳过49将继续执行
      }
      if (i == 77) {
        break; 	//跳过77并终止循环
      }
      console.log(i);
    }
  }
//break的用法
  var j = 1;
  while (j <= 2) {
    console.log(j)
    break;  //可以避免死循环
  }

练习题

作业1:求1-100之间所有数的乘积

var i = 1;
var mul = 1;
  //方法一:
  while (i <= 100) {
    mul *= i;
    i++;
  }
  console.log("1-100数的乘积:" + mul);
  document.write('<br>'); 
  
  //方法二:
  do {
    mul *= i;
    i++;
  } while (i <= 100);
  document.write("1-100数的乘积:" + mul);
  document.write('<br>');
  
  //方法三
  for (i = 1; i <= 100; i++) {
    mul *= i;
  }
  document.write("1-100数的乘积:" + mul);

作业2:求1-100之间所有奇数的和

var i = 1;
var sum = 0;
  // 方法一:
   while (i <= 100) {
    if (i % 2 !== 0) {
      sum += i;
    }
    i++;
  }
  document.write("1-100之间所有奇数的和:"+sum); 

  // 方法二:
  do{
    if (i % 2 !== 0) {
      sum += i;
    }
    i++;
  }while(i <= 100);
  document.write("1-100之间所有奇数的和:"+sum);

  // 方法三:
  for (i = 1; i <= 100; i++) {
    if (i % 2 !== 0) {
      sum += i;
    }
  }
  document.write("1-100之间所有奇数的和:" + sum);

作业3:计算1-100之间能3整除的数的和

// 方法一:
  var i = 1;
  var sum = 0;
 while (i <= 100) {
    if (i % 3 == 0) {
      sum += i;
    }
    i++;
  }
  document.write("1-100之间能被3整除的数的和:" + sum);
  //方法二:
  do {
    if (i % 3 == 0) {
      sum += i;
    }
    i++;
  } while (i <= 100);
  document.write("1-100之间能被3整除的数的和:" + sum); 

  //方法三:
  for(i=1;i<=100;i++){
    if (i % 3 == 0) {
      sum += i;
    }
  }
  document.write("1-100之间能被3整除的数的和:" + sum);

作业4:计算1-100之间不能被7整除的数的和

  var i = 1;
  var sum = 0;
  //方法一:
  while (i <= 100) {
    if (i % 7 !== 0) {
      sum += i;
    }
    i++;
  }
  document.write("1-100之间不能被7整除的数的和:" + sum);
  
  //方法二:
  do {
    if (i % 7 !== 0) {
      sum += i;
    }
    i++;
  } while (i <= 100);
  document.write("1-100之间不能被7整除的数的和:" + sum);

  //方法三:
  for (i = 1; i <= 100; i++) {
    if (i % 7 !== 0) {
      sum += i;
    }
  }
  document.write("1-100之间不能被7整除的数的和:" + sum);

作业5:本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。
计算5年后,获得的新本金(本金+利息)一共是多少?

// 本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。
//计算5年后,获得的新本金(本金+利息)一共是多少?
  var money = 10000;
  var rate = 0.003;
  for (var year = 1; year <= 5; year++) {
    money += money * rate;
  }
  document.write("获得的新本金(本金+利息)一共是:" + money);

作业6:求1-100之间不能被7整除的整数的和(用continue)

var sum = 0;
  for (var i = 1; i <= 100; i++) {
    if (i % 7 == 0) {
      continue;
    }
    sum += i;
  }
  document.write("1-100之间不能被7整除的数的和:" + sum);

作业7:求200-300之间所有的奇数的和(用continue)

var sum = 0;
  for (var i = 200; i <= 300; i++) {
    if (i % 2 == 0) {
      continue;
    }
    sum += i;
  }
  document.write('200-300之间所有的奇数的和:' + sum)

作业8: 求200-300之间第一个能被7整数的数(break)

for (var i = 200; i <= 300; i++) {
    if (i % 7 == 0) {
      break;
    }
  }
  document.write("200-300之间第一个能被7整数的数:" + i);

作业9:打印9*9乘法表

var multi = 1
  for (var i = 1; i <= 9; i++) {
    for (var j = 1; j <= i; j++) {
      multi = i * j;
      document.write(j + '*' + i + '=' + multi);
      document.write('&nbsp;&nbsp;')
    }
    document.write('<br>');
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值