Web前端认识day-10(选择结构)

本文介绍了程序的三大结构——顺序、选择和循环,并详细讲解了JavaScript中的选择结构,包括if语句、if...else、switch语句及其优势。同时,文章也探讨了循环结构,特别是while循环,以及循环执行的常见套路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

程序中有三大结构,顺序,选择,循环

顺序:代码从上到下一行一行的执行
选择:代码有分支,有选择的
循环:重复执行某一段代码

为什么需要选择结构

刚刚的计算三角形面积的案例,如果说,当输入的三条边
不能构成三角形时,就不能使用公式计算
在生活中,也有很多的选择
比如说明天放假,有对象的和对象出去玩
没有的在寝室长蘑菇
再比如说看看这个月还剩下多少天,
口袋里还剩下多少钱
钱多天天大鱼大肉
钱少只能吃泡面

基本if语法

If 如果
else 否则

案例:绝对值
输入一个数,如果这个数是正数,那么输出它本身
如果这个数是负数,那么输出它的相反数

 var num=prompt("请输入一个数");
    if(num>0){
        alert(num);
    }
    else{
       var a=Math.abs(num);
        alert(a);
    }

案例:计算三角形面积(改)
要求能够判断出三条边是否能构成三角形
如果不能,输出“请正确输入“

var a,b,c;
    a=Number(prompt("请输入三角形的a边"));
    b=Number(prompt("请输入三角形的b边"));
    c=Number(prompt("请输入三角形的c边"));
    //得到三条边的长度
    if((a+b>c)&&(a-b<c)){
        alert("能")
    }
    alert("不能")

案例:判断一个数是否为水仙花数

  var a,b,c,d;
    a=Number(prompt("请输入三位数"));
    b=Math.floor(a/100);
    c=Math.floor((a%100)/10);
    d=Math.floor(a%10);
    if((Math.pow(b,3)+Math.pow(c,3)+Math.pow(d,3))==a){
        alert("是")
    }
    alert("不是")

If语句嵌套

案例:献血
根据性别和体重计算输血量女性体重不超过50kg的输血量为
200毫升,否则的话就250毫升
男性不超过60kg的献血为250毫升,否则300毫升
1获取性别 sex
2 获取体重 kg

var sex,ml,kg;
    sex=Number(prompt("请输入性别"));
    // ml=Number(prompt("请输入输血量"));
    kg=Number(prompt("请输入体重"));
    if(sex=="男"){
        if(kg>60){
            alert("300")
        }else
        alert("250")
    }else
    {
        if(kg>60){
            alert("250")
        }else
            alert("200")
    }

Else if

案例:成绩评语
输入一个零到一百的成绩
90-100:666,真厉害
80-90:还不错了
70-80:还有很大的进步空间
60-70:要小心,马上就快挂了
<60:孩子多半是废了。。。。。

var a=Number(prompt("请输入成绩"))
    if(a>=90&&a<100){
        alert("你真厉害")
    }else if(a>=80&&a<90){
        alert("还不错")
    }else if(a>=70&&a<80){
        alert("还有进步空间")
    }else if(a>=60&&a<70){
        alert("要小心")
    } else if(a>=0&&a<60){
        alert("废了")
    }else{
        alert("请正确输入")
    }

Switch

如果是if选择的分支比较多的时候,就需要一个一个分支的从上往下执行
,这样执行的效率是非常低的,需要对选择结构进行一个改进
使用switch就可以解决这个问题

Switch基本语法

Switch:开关
语法:

在执行的过程中,a 的值与哪个分支后面的值一样
就运行哪个分支的代码
Case后面的值可以立即为标号(程序中指令的地址)
如果运行完一个分支后,不想继续运行的话
可以用break来跳出选择结构,但break不是必须要写的
如果a 的值与case后面标号都对应不上,则运行default(默认)
里面的代码

Switch的好处:

(1) 执行速度比else if更快,效率更高
(2) 选择结构更加清晰,一目了然

案例:判断季节
要求输入月份(1,2,3,。。。,12)判断该月所处的季节
假定12,1,2是冬季,以此类推 月份:month

var b=Number(prompt("请输入月份"));
      switch (b)
      {
          case 3:case 4:case 5: {
              alert("春季");
              break;
          }case 6:case 7:case 8:{
              alert("夏季");
              break;
          }case 9:case 10:case 11:{
              alert("秋季");
              break;
         }case 12:case 1:case 2:{
              alert("冬季");
              break;
         }
          default:{
              alert("请正确输入");
          }
      }

循环结构

循环结构的基本概念
循环:重复干一件事情
重复执行一块代码

快递员:查看送件地址-》赶往目的地-》电话通知收件人-》收件人签字-》快递交付
直到所有快递送完
食堂阿姨:取餐盘-》问你要什么菜-》打菜-》给餐盘。。。。。重复以上过程
直到所有学生打饭完成

While循环

While:当……则……当什么条件成立时,一直重复做,不成立时停止

案例:找出所有水仙花数(水仙花数是三位数)

 var sum=100;
    while(sum<=999){
        var b=Math.floor(sum/100);
        var c=Math.floor((sum%100)/10);
        var d=Math.floor(sum%10);
        var e=(Math.pow(b,3)+Math.pow(c,3)+Math.pow(d,3));
        if(e==sum){
            alert(sum+"是水仙花数");
        }
        sum++
    }

案例:GDP预测
2009年美国的GDP是142562.75亿美元,而中国是49089.82亿美元,
假设美国经济增长率为2%,而中国为8%,预测中国GDP何时能超过美国

  var a=49089.82;
    var b=142562.75;
    var n=2009;
    while (a<=b){
        a+=a*0.08;
        b+=b*0.02;
        n++;
    }
    alert("在"+n+"年中国GDP超过美国")

循环的套路

(1) 初始条件
(2) 循环条件
(3) 循环体(重复执行的代码)
(4) 为下一次循环做准备

当我们遇到问题的时候我们先想四个问题

(1) 初始状态是什么样的
(2) 重复的条件是什么(在什么条件下才会重复)
(3) 重复要做什么
(4) 怎么过度到下一次循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值