javascript 第二章 流程控制--分支机构

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

了解程序的三种结构

熟悉顺序结构的程序执行过程

熟练使用if语句实现分支的条件判断

熟练使用switch语句进行多重分支判断

ECMA基本语法:

注释,变量,运算符,数据类型,流程控制,对象

一、流程控制

1.1、什么是流程控制
程序中的执行顺序。(从上往下,从右到左 (如果右边是表达式 (左到右)))
控制代码的执行时间。执行次数。
饿了就需要吃饭。
1.2、3种程序结构
1、顺序结构:从上往下,从右到左 (如果右边是表达式 (左到右))
2、分支结构:控制代码何时执行,是否执行
3.循环结构:控制代码执行多少次
二、分支机构–if
格式

	if(条件表达式①){
    
    
	执行的代码块;
}
//**执行流程:**当条件表达式①成立时,才会执行代码块。

如果 你的分数小于 60,输出 恭喜你,不及格!

<script type="text/javascript">
    // 如果 你的java分数小于 60,输出  恭喜你,不及格!
    var Score = prompt("请输入你的java成绩");
    /*alert(typeof(Score));//string
    alert(typeof(60));//number*/
    if(javaScore < 60){
    
    

    alert("恭喜你,不及格!");
    }
</script>

2.2if else 判断 (如果这样,否则这样)

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

先判断条件表达式①是否成立,如果成立 执行代码块①, 否则,执行代码块②;

var Score = prompt("请输入你的java成绩");
			if(Score < 60){
    
    
				alert("恭喜你,不及格!");
			}else{
    
    
				alert("恭喜你,秀儿!");
			}

2.3 多重if 判断

if(条件表达式①){
    
    
	代码块①;
}else if(条件表达式②){
    
    
	代码块②;
}else if(条件表达式③){
    
    
	代码块③;
}else if(条件表达式④){
    
    
	代码块④;
}else if(条件表达式⑤){
    
    
	代码块⑤;
}else{
    
    
	代码块⑥;
}

先判断条件表达式①是否成立,如果成立 执行代码块①,

否则 ,判断条件表达式②是否成立,如果成立 执行代码块②

否则 ,判断条件表达式③是否成立,如果成立 执行代码块③

否则 ,判断条件表达式④是否成立,如果成立 执行代码块④

。。。。。
一直到 最后一个else 执行最后一个代码块 程序结束。
案例1

​ 开学了,体温检测,如果发烧,就进行核酸检测,看是否感染肺炎,如果是感染肺炎,立即隔离。否则,正常上课。

var tiwen = prompt("请输入体温");
			if( tiwen >37){
    
    
				alert("进行核酸检测")
				var result=prompt("是否感染");
				if(result=="是"){
    
    
					alert("隔离")				
				}else{
    
    
				alert("正常上课")
			}
			}else{
    
    
				alert("正常上课")
			}
var score =prompt("请输入你的考试成绩");
		if(score >=90){
    
    
			alert("秀儿!");
		}else if(score>=80 ){
    
    
			alert("有点秀儿!")
		}else if(score>=70 ){
    
    
			alert("有1点秀儿!")
		}else if(score>=60 ){
    
    
			alert("有2点秀儿!")
		}else if(score<60 ){
    
    
			alert("有3点秀儿!")
		} 

三、分支机构 switch-case

//语法格式
switch(参数){
    
    
	case1: 
		代码块①;
		break;
	case2:
		代码块②;
		break;
	case3:
		代码块③;
		break;
	。。。。。
	default:
		最后代码块;
		break;
}

执行流程
用switch后面的参数跟case比较是否相同,相同就执case后面的代码块,否则就和下一个case比较 break是结束语
如果一个case都吧相同就执行default 下的代码块

**注意**:比较值 是全等的比较   即比较值还要比较数据类型。

switch跟if的区别
if 一般进行区间的判断。

switch 一般进行等值的判断。

练习

<script type="text/javascript">
			var a=prompt("请输入一个数判断是不是水仙花数");			 
			// var b=a1/100;			
			//var c=a1%100/10;
			// var d=a1%10;
			var a1=parseInt(a);
			var b=parseInt(a1/100);
			 var c=parseInt(a1%100/10);
			 var d=parseInt(a1%10);
			 if (a==b*b*b+c*c*c+d*d*d){
    
    
				 alert("true");
			 }else{
    
    
				 alert("false");
				 
			 }
		</script>
//一个笼子里有鸡和兔子,头有35,腿有94;输入两个数字,分别代表鸡和兔子的个数,输出是否是答案
<script type="text/javascript">
			var x = Number (prompt("鸡个数"));
			var y = Number (prompt("兔个数"));
			if(x+y==35&&2*x+4*y==94){
    
    
				alert(true);
			 }else 
			 {
    
    
			alert(false);
			 }
	
		</script>
//输入一个3/4/5/6位数,判断这个数是不是回文数(正看==反看)。
<script type="text/javascript">
				
				var a=Number(prompt("请输入不大于六位数的"));
				var b,c,d,e,f,g;
				if(a>=100000){
    
    
					b=parseInt(a/100000);
					c=parseInt(a%100000/10000);
					d=parseInt(a%10000/1000);
					e=parseInt(a%1000/100);
					f=parseInt(a%100/10);
					g=parseInt(a%10);
					alert(b==g && c==f && d==e);
							
				}else if(a>=10000){
    
    
					d=parseInt(a/10000);
					e=parseInt(a%10000/1000);
					f=parseInt(a%100/10);
					g=parseInt(a%10);
					alert(d==g && e==f );
				}else if(a>=1000){
    
    
					d=parseInt(a/1000);
					e=parseInt(a%1000/100);
					f=parseInt(a%100/10);
					g=parseInt(a%10);
					alert(d==g && e==f );
				}else if(a>=100){
    
    
					e=parseInt(a/100);
					g=parseInt(a%10);
					alert(e==g);
				} 
			</script>
//连续录入五个人的成绩,计算最大成绩  最小成绩和平均成绩。
<script type="text/javascript">
			var a= Number(prompt("成绩1"));
			var b= Number(prompt("成绩2"));
			var c= Number(prompt("成绩3"));
			var d= Number(prompt("成绩4"));
			var f= Number(prompt("成绩5"));
			var max;
			var min;
			var pj;
			max= a>b ? a:b;
			max= max>c ? max:c;
			max= max >d ? max:d;
			max=max > f ? max:f;
			
			min=a<b? a:b;
			min=min <d ? min:d;
			min=min <c ? min:c;
			min=min <d ? min:d;
			
			pj=(a+b+c+d+f)/5;
			alert(max);
			alert(min);
		 
			alert(pj);
			
		
			
		</script>

判断a是不是能被3 5 7 整除 考虑同时整除情况

//1/
var a=Number(prompt("请输一个数:"));
			
			if(a%3==0){
    
    
				if(a%5==0 && a%7==0){
    
    
					alert("能同时被357整除");
				}else{
    
    
					alert("被3整除");
				}
	 
			}else{
    
    
				alert("不能被3整除");
			} 
			 
			if(a%5==0){
    
    
				alert("被5整除");
			}else{
    
    
				alert("不能被5整除");
				}
			 
			if(a%7==0){
    
    
				alert("被7整除");
			}else{
    
    
				alert("不能被7整除");
			}
//2/
 var a=Number(prompt("请输一个数:"));
			 if(a%3==0 && a%5==0 && a%7==0){
    
    
				alert("能同时被357整除");
			 }else if(a%3==0){
    
    
				 alert("被3整除");
				 
			}else if(a%5==0){
    
    
				alert("被5整除");
				
			}else if(a%7==0){
    
    
				alert("被7整除");
				
			}else {
    
    
				alert("不能被357整除");
			} 

输入考试成绩,显示所获奖励。成绩==100分,
爸爸给他买辆车。成绩>=90分,
妈妈给他买MP4。90分>成绩>=60分,
妈妈给他买本参考书。成绩<60分,什么都不买

 var score=prompt("成绩是多少");
			if(score==100){
    
    
				alert("爸爸给他买辆车");
				
			}else if(score>=90){
    
    
				alert("妈妈给他买MP4");
			}else if(score>=60){
    
    
				alert("妈妈给他买本参考书");
			}else if(score<60){
    
    
				alert("什么都不买 ");

两个数a、b,如果a能被b整除或a加b大于1000,则输出a,否则输出b

 var a=prompt("请输入a");
			  var b=prompt("请输入b");
			if(a%b==0 || a+b>1000){
    
    
				alert("a");
			}else{
    
    
				alert("b");
			}

打印某年某月有多少天

var year=(prompt("请输入年"));
			var moth=(prompt("请输月"));
			switch(moth){
    
    
				case "1":
				case "3":
				case "5":
				case "7":
				case "8":
				case "10":
				case "12":
					alert("31");
					break;
				case "4":
				case "6":
				case "9":
				case "11":
					alert("30");
					break;
				case "2":
					if(year%4==0 && year%100==0 || year%400==0){
    
    
						alert("该年的该月有29天")
					}else{
    
    
						alert("该年的该月有28天")
					}
					break;
				}

如果数学成绩大于80分并且语文成绩大于80分,获奖学金500元。
如果数学小于30并且语文小于30分,输出重修。

var sx=prompt("数学成绩");
			var yw=prompt("语文成绩");
			if(sx>80&&yw>80){
    
    
				alert("获奖学金500元。");
			}else if(sx<30&&yw<30){
    
    
				alert("重修");
			}else{
    
    
				alert("没有奖励没有处罚");
			}

Guess you like

Origin blog.csdn.net/qq_45438019/article/details/118856570