第二章 流程控制之---分支结构

第一节:流程控制

1.1 什么是流程控制

流程控制: 程序在执行过程中,通过特定条件控制程序的执行次序。

1.2 三种程序结构

注意:else是可以省略的,代表没有一个默认选择

下面是例子

  1. 顺序结构:从上往下,(等式)从右到左 (如果右边是表达式 (左到右))

  2. 分支结构:控制代码何时(根据条件)执行,是否执行。

  3. 循环结构:控制代码执行(根据条件)多少次。

    第二节:分支结构--if 如果

    2.1 单if 条件判断: 单分支

    语法:

    if(条件表达式){
        代码块;
    }

    执行过程: 如果 if后面括号里的条件为true,则执行大括号中的代码块。否则不执行。

    注意: 在这个代码块中,不能乱加";"

     // 输入数据,转型为数值,并赋值给score
    			var score = Number(prompt("请输入你的分数",''));
    			// 使用分支通过条件判断,决定是否奖励
    			// 单分支: 只有一种选择
    			if(score>=90){ // 满足条件则执行代码块
    				alert("奖励一辆电动车");
    			}  

    2.2 if else 判断: 双分支

    语法:

    if(条件表达式){
        代码块1;
    }else{
        代码块2;
    }

    执行流程:

    1.如果if后面条件表达式成立,则执行代码块1

    2.如果if后面条件表达式不成立,则执行代码块2

    注意: else 不能加条件

    // if else 双分支
    			// 如果你的考试分数超过90分,奖励一辆电动车
    			// 如果你的考试分数没有超过90,则扫地一星期
    			var score = Number(prompt("请输入你的分数",""));
    			if(score>=90){
    				alert("奖励一辆电动车");
    			}else{
    				alert("打扫房间一星期");
    			}   

    2.3 多重if 判断

    语法

    if(条件表达式1){
        代码块1;
    }else if(条件表达式2){
        代码块2;
    }else if(条件表达式3){
        代码块3;
    }
    .... // 省略部分条件
    else{ // else可以省略
        代码块n;
    }

    执行流程:

  4.  代码自上而下执行,如果条件表达式1成立,则执行代码块1, 代码块1执行之后,其它分支不再执行。

  5. 如果条件表达式1不成立,则判断条件表达式2是否成立,如果成立,则执行代码块2

    • 如果条件表达式2不能成立,则判断条件表达式3是否成立,如果成立,则执行代码块3

    • 如果条件表达式3不能成立,则依次判断后续条件。

    • 如果所有的条件都不成立,则执行else中的代码块。 

    • 注意:else是可以省略的,代表没有一个默认选择

      // if.. else if..else 多分支
      			// 输入一个分数,根据分数评定:优秀,良好,中等,差
      			// 优秀: >=90  良好: >=80 并且 <90 中等: >=60 并且 <80 差: <60
      			// var score = Number(prompt("请输入你的分数:",""));
      			// if(score>=90){
      			// 	alert("优秀");
      			// }else if(score>=80){
      			// 	alert("良好");
      			// }else if(score>=60){
      			// 	alert("中等");
      			// }else{ // 60分以下
      			// 	alert("差")
      			// }
      // 能不能反向去写,实现评级
      			// 差>中等>良好>优秀
      			var score = Number(prompt("请输入你的分数:",""));
      			// if(score<60){
      			// 	alert("差");
      			// }else if(score>=60){ //87分输出中等,因为条件不严谨
      			// 	alert("中等");
      			// }else if(score>=80){
      			// 	alert("良好");
      			// }else if(score>=90){
      			// 	alert("优秀");
      			// }
      			
      			if(score<60){
      				alert("差");
      			}else if(score>=60 && score<80){ //87分输出中等,因为条件不严谨
      				alert("中等");
      			}else if(score>=80 && score<90){
      				alert("良好");
      			}else if(score>=90){
      				alert("优秀");
      			}
      			
      			// 考虑: 如果分数是负数,或者 1000分,需要输出分数错误。 如何解决

      第三节: 分支结构 switch - case

      语法:

      switch(变量/数据){
          case 数据1:
             代码块1;
             break;
          case 数据2:
             代码块2;
             break;
          case 数据3:
             代码块3;
             break;
          default:
             默认代码块;
             break;
      }

      执行流程:

    • 根据switch后面括号中的数据,与下面case对应的值进行一一对比。

    • 满足某一个case分支,则执行对应的代码块

    • 如果上面的分支都不满足,则执行default后面的代码块

    • 其中break(结束语句执行)表示整个switch语句结束,如果某个分支没有break,则代码会继续向下执行,直到遇到break或者所有语句执行完成,switch语句才会结束。

    • default语句可以省略。

      // 胡八一,参加摸金校尉比武大赛,根据比赛结果,确定胡八一的江湖地位
      			// 如果取得第一名: 武林盟主
      			// 如果取得第二名: 武当掌门
      			// 如果取得第三名: 峨眉掌门
      			// 如果是其它名次: 逐出师门
      			// var mc = Number(prompt("请输入胡八一比武大赛的名次:",""));
      			// if(mc==1){
      			// 	alert("武林盟主");
      			// }else if(mc==2){
      			// 	alert("武当掌门");
      			// }else if(mc==3){
      			// 	alert("峨眉掌门");
      			// }else{
      			// 	alert("逐出师门");
      			// }
      			
      			// var mc = Number(prompt("请输入胡八一比武大赛的名次:",""));
      			// // switch(数据) : 括号里写数据,不是条件表达式
      			// // case:数据满足某种情况
      			// switch(mc){
      			// 	case 1:
      			// 		alert("武林盟主");
      			// 		break;
      			// 	case 2:
      			// 		alert("武当掌门");
      			// 		break;
      			// 	case 3:
      			// 		alert("峨眉掌门");
      			// 		break;
      			// 	default: // 上面条件都不满足,其它情况
      			// 		alert("逐出师门");
      			// 		break;
      			// }
      			
      			var mc = Number(prompt("请输入胡八一比武大赛的名次:",""));
      			// switch(数据) : 括号里写数据,不是条件表达式
      			// case:数据满足某种情况
      			switch(mc){
      				case 1:
      					alert("武林盟主");
      					break;
      				case 2:
      					alert("武当掌门");
      					break;
      				case 3:
      					alert("峨眉掌门");
      					break;
      				default: // 上面条件都不满足,其它情况
      					alert("逐出师门");
      					break;
      			}
      			
      			// 根据今天星期几,输出吃什么
      			// 星期1,2 吃米饭 3,4 吃面条 5,6 饺子 7 减肥

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值