JS_02 分支结构

  1. 回顾
    变量——非常重要。

var dd;

  1. 目标
    •程序的三种结构

•多种类型if语句

•switch语句

  1. 内容
    程序目的:让电脑帮我干活——模拟现实中的一些操作。

——每天吃饭

:我吃啥?——选择

:我吃啥?——选择

:我吃啥?——选择

:我吃啥?——选择

:我吃啥?——选择

:我吃啥?——选择

3.1程序的三种结构

顺序结构:

一帆风顺

选择/分支结构:在这里插入图片描述

选择——现在这件事情,选择吃面条 选择吃米饭。

在这里插入图片描述

循环结构:

小学生抄作文 抄单词

一个代码书写次数太多了,所以可以使用循环让一段代码重复执行

在这里插入图片描述

3.2 if分支

3.2.1 if分支

在这里插入图片描述

if(条件——杂酱面吃不吃?——true/false——判断式——= != > && || !){

选择了这个分支之后做的事情:代码块;(1或者多个语句组成的代码)。如果只有一句话,{}可以省略

}

分支后的代码

3.2.2 if else 分支

在这里插入图片描述

  if(条件){

}

<script>
			/*
				双分支
			*/
			var result=prompt("今天你吃不吃杂酱面?")
			if(result=="吃"){
			   document.write("走到杂酱面<br/>")
			   document.write("点菜<br/>")
			   document.write("结账<br/>")
			   document.write("吃饭<br/>")
			   document.write("收拾走<br/>")
			}else{//{在只有一句话的情况下可以省略但是不建议}
				document.write("买个面包吃吃<br/>")
			} 
			document.write("上课<br/>")
			
			
			var aaa="123";
			var bai=parseInt(aaa/100)
			var shi=parseInt(aaa/10)%10
			var ge=aaa%10
			if(bai*bai*bai+shi*shi*shi+ge*ge*ge==aaa){
				document.write("是一个水仙花")
			}else{
				document.write("不是一个水仙花")
			}
		</script>

3.2.3 else if

在这里插入图片描述

<script>
			/*
				双分支
			*/
			var result=prompt("今天你吃不吃杂酱面?")
			if(result=="吃"){
			   document.write("走到杂酱面<br/>")
			   document.write("点菜<br/>")
			   document.write("结账<br/>")
			   document.write("吃饭<br/>")
			   document.write("收拾走<br/>")
			}else{//{在只有一句话的情况下可以省略但是不建议}
				document.write("买个面包吃吃<br/>")
			} 
			document.write("上课<br/>")
			
			
			var aaa="123";
			var bai=parseInt(aaa/100)
			var shi=parseInt(aaa/10)%10
			var ge=aaa%10
			if(bai*bai*bai+shi*shi*shi+ge*ge*ge==aaa){
				document.write("是一个水仙花")
			}else{
				document.write("不是一个水仙花")
			}
		</script>

在这里插入图片描述
案例:
输入小明 的成绩,如果100分:奖励休一
天{代码块1}
else if(条件2){代码块2}
else if(条件3){代码块3}

e【lse{
代码块n
}

选择结构后的代码

<script>
			var cai=prompt("你想吃什么")
			if(cai=="麻辣烫"){
				document.write("吃麻辣烫");
			}else if(cai=="杂酱面"){
				document.write("吃杂酱面")
			}else if(cai=="老碗面"){
				document.write("老碗面")
			}else{
				document.write("寿司")
			}
			document.write("上课")
			</script>

如果>90,奖励一个鸡腿
如果>80,鼓励鼓励
如果>60,简单批评一下
如果不及格,罚站

3.3 switch分支

 eg:<script>
			var score=Number(prompt("请输入成绩"));
			if(score>=100){
				document.write("奖励休息一天!!!!<br/>")
			}else if(score>90){//&&score<100这是前提_带上隐式条件可以乱序,如果不带不可以
				document.write("奖励一个鸡腿!!!<br/>")
			}else if(score>80){//score<=90
				document.write("鼓励鼓励!!!!<br/>")
			}else if(score>=60){//score<=80
				document.write("简单批评一下!!!<br/>")
			}else{
				document.write("罚站!!!!<br/>")
			}
			</script>
			

输入月份:输出天数

<script>
			var month= Number(prompt("请输入月份"))
			if(month==1){
				console.log("31天");
			}else if(month==2){
				console.log("28天");
			}else if(month==3){
				console.log("31天");
			}else if(month==4){
				console.log("30天");
			}else if(month==5){
				console.log("31天");
			}else if(month==6){
				console.log("30天");
			}else if(month==7){
				console.log("31天");
			}else if(month==8){
				console.log("31天");
			}else if(month==9){
				console.log("30天");
			}else if(month==10){
				console.log("31天");
			}else if(month==11){
				console.log("30天");
			}else if(month==12){
				console.log("31天");
			} 
			
			if(month==2){
				console.log("28天");
			}else if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
				console.log("31tian");
			}else{
				console.log("30天");
			}
			
		</script>

多分支——跟刚才的else if是一样的,但是他功能比较简单——只能处理等值判断

switch(判断式——返回的具体的值){
case 值1:代码块1;[break]
case 值2:代码块2;[break]
case 值3:代码块3;[break]
case 值4:代码块4;[break]
case 值5:代码块5;[break]
case 值6:代码块6;[break]
default:那个都不匹配执行的代码块n;[break]
}
判断式的值值1:执行代码块1,如果有break中止,没有break,那么继续后边的代码,直到碰到breka或者}结束。
如果第一个不成立:
判断式的值
值2:执行代码2-----------------
如果不成立
==值3》。。。。。。

如果都不成立:执行default。default没有位置限制

var month= Number(prompt("请输入月份"))
			switch(month){
				case 1: 
				case 3: 
				case 5: 
				case 7: 
				case 8: 
				case 10: 
				case 12:console.log("31天");break;
				case 4: 
				case 6: 
				case 9: 
				case 11:console.log("30天");break;
				case 2:console.log("28天");break;
				default:console.log("错误");break;
				
			}

成绩:

 var score=Number(prompt("请输入成绩"));
 var a=parseInt(score/10);
 switch(a){
	 default:document.write("罚站!!!!<br/>");break;
	 case 10: document.write("奖励休息一天!!!!<br/>");break;
	 case 9: document.write("奖励一个鸡腿!!!<br/>");break;
	 case 8:document.write("鼓励鼓励!!!!<br/>");break;
	 case 7:
	 case 6:document.write("简单批评一下!!!<br/>");break;
	 
 }

switch:只能处理等值,在等值方面比else if更简洁效率更快;case后边的常量值:语句块中的break可以选,但是如果不写将一直往后执行,直到碰到break或者}结束;default的位置只要在swtich中并不是必须在最后,可以换地方。

switch和else if的区别:
else if的功能强大,什么判断都可以做
switch只能做等值,等值效率相对else if更高一些。
相同的:都是多分支

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值