JS基础&&实战--day04

条件分支语句

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 * 条件分支语句也叫switch语句
			 * 	语法:
			 * 		switch(条件表达式){
			 * 			case 表达式:
			 * 				语句...
			 * 				break;
			 *  		case 表达式:
			 * 				语句...
			 * 				break;
			 * 			default:
			 * 				语句...
			 * 				break;
			 * 		}
			 * 
			 * 	执行流程:
			 * 		switch...case..语句
			 * 		在执行时会依次将case后的表达式的值和switch后的条件表达式的值进行全等比较,
			 * 			如果比较结果为true,则从当前case处开始执行代码。
			 * 				当前case后的所有的代码都会执行,我们可以在case的后边跟着一个break关键字,
			 * 				这样可以确保只会执行当前case后的语句,而不会执行其他的case
			 * 			如果比较结果为false,则继续向下比较
			 * 			如果所有的比较结果都为false,则只执行default后的语句
			 * 
			 * 	switch语句和if语句的功能实际上有重复的,使用switch可以实现if的功能,
			 * 		同样使用if也可以实现switch的功能,所以我们使用时,可以根据自己的习惯选择。
			 */
			
			//根据num的值,输出对应的中文
			
			var num = 3;
			
			/*if(num == 1){
				console.log("壹");
			}else if(num == 2){
				console.log("贰");
			}else if(num == 3){
				console.log("叁");
			}*/
			
			num = "hello";
			
			switch(num){
				case 1:
					console.log("壹");
					//使用break可以来退出switch语句
					break;
				case 2:
					console.log("贰");
					break;
				case 3:
					console.log("叁");
					break;
				default:
					console.log("非法数字~~");
					break;
			}
			
		</script>
	</head>
	<body>
	</body>
</html>
switch练习
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>switch练习1</title>
		<script type="text/javascript">
			/*
			 * 对于成绩大于60分的,输出'合格'。低于60分的,输出'不合格'
			 * 
			 * 6x  /  10 = 6
			 * 7x  /  10 = 7
			 * 8x  /  10 = 8
			 * 9x  /  10 = 9
			 * 100 /  10 = 10
			 * 
			 */
			var score = 75;
			
			/*switch(parseInt(score/10)){
				case 10:
				case 9:
				case 8:
				case 7:
				case 6:
					console.log("合格");
					break;
				default:
					console.log("不合格");
					break;
			}*/
			
			switch(true){
				case score >= 60:
					console.log("合格");
					break;
				default:
					console.log("不合格");
					break;
			}
			
			
			
		</script>
	<body>
	</body>
</html>

循环语句

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			
			/*
			 * 向页面中输出连续的数字
			 */
			/*var n = 1;
			document.write(n++ +"<br />");*/
			
			/*
			 * 循环语句:
			 * 	通过循环语句可以反复的执行一段代码多次
			 * 
			 * while循环
			 * 	- 语法:
			 * 		while(条件表达式){
			 * 			语句...
			 * 		}
			 * 
			 * 	- while语句在执行时,
			 * 		先对条件表达式进行求值判断,
			 * 			如果值为true,则执行循环体,
			 * 				循环体执行完毕以后,继续对表达式进行判断
			 * 				如果为true,则继续执行循环体,以此类推
			 * 			如果值为false,则终止循环
			 * 
			 * do...while循环
			 * 	- 语法:
			 * 		do{
			 * 			语句...
			 * 		}while(条件表达式)
			 * 
			 * 	- 执行流程:
			 * 		do...while语句在执行时,会先执行循环体,
			 * 			循环体执行完毕以后,在对while后的条件表达式进行判断,
			 * 			如果结果为true,则继续执行循环体,执行完毕继续判断以此类推
			 * 			如果结果为false,则终止循环
			 * 
			 * 		实际上这两个语句功能类似,不同的是while是先判断后执行,
			 * 			而do...while会先执行后判断,
			 * 		do...while可以保证循环体至少执行一次,
			 * 			而while不能
			 */
			var n = 1;
			
			//向这种将条件表达式写死为true的循环,叫做死循环
			//该循环不会停止,除非浏览器关闭,死循环在开发中慎用
			//可以使用break,来终止循环
			/*while(true){
				alert(n++);
				
				//判断n是否是10
				if(n == 10){
					//退出循环
					break;
				}
				
			}*/
			
			//创建一个循环,往往需要三个步骤
			
			//1.创初始化一个变量
			var i = 11;
			
			//2.在循环中设置一个条件表达式
			/*while(i <= 10){
				//3.定义一个更新表达式,每次更新初始化变量
				document.write(i++ +"<br />")
				
			}*/
			
			/*do{
				document.write(i++ +"<br />");
			}while(i <= 10);*/
			
			/*while(true){
				alert(1);
			}*/
			
		</script>
	</head>
	<body>
	</body>
</html>

while练习一
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
			 * 假如投资的年利率为5%,试求从1000块增长到5000块,需要花费多少年
			 * 
			 * 1000 1000*1.05
			 * 1050 1050*1.05
			 */
			
			//定义一个变量,表示当前的钱数
			var money = 1000;
			
			//定义一个计数器
			var count = 0;
			
			//定义一个while循环来计算每年的钱数
			while(money < 5000){
				money *= 1.05;
				
				//使count自增
				count++;
			}
			
			
			//console.log(money);
			console.log("一共需要"+count+"年");
			
			
			
		</script>
	</head>
	<body>
	</body>
</html>

while练习二
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>if练习1</title>
		<script type="text/javascript">
			/*
			 * 	从键盘输入小明的期末成绩:
			 *	当成绩为100时,'奖励一辆BMW'
			 *	当成绩为[80-99]时,'奖励一台iphone15s'
			 *	当成绩为[60-80]时,'奖励一本参考书'
			 *	其他时,什么奖励也没有
			 */
			
			/*
			 * prompt()可以弹出一个提示框,该提示框中会带有一个文本框,
			 * 	用户可以在文本框中输入一段内容,该函数需要一个字符串作为参数,
			 * 	该字符串将会作为提示框的提示文字
			 * 
			 * 用户输入的内容将会作为函数的返回值返回,可以定义一个变量来接收该内容
			 */
			//将prompt放入到一个循环中
			while(true){
				//score就是小明的期末成绩
				var score = prompt("请输入小明的期末成绩(0-100):");
				//判断用户输入的值是否合法
				if(score >= 0 && score <= 100){
					//满足该条件则证明用户的输入合法,退出循环
					break;
				}
				
				alert("请输入有效的分数!!!");
			}
			
			
			
			//判断值是否合法
			if(score > 100 || score < 0 || isNaN(score)){
				alert("拉出去毙了~~~");
			}else{
				//根据score的值来决定给小明什么奖励
				if(score == 100){
					//奖励一台宝马
					alert("宝马,拿去~~~");
				}else if(score >= 80){
					//奖励一个手机
					alert("手机,拿去玩~~~");
				}else if(score >= 60){
					//奖励一本参考书
					alert("参考书,拿去看~~~");
				}else{
					alert("棍子一根~~");
				}
			}
			
			
			
			
			
			
		</script>
	</head>
	<body>
		
	</body>
</html>

for循环

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
			 * for语句,也是一个循环语句,也称为for循环
			 * 	在for循环中,为我们提供了专门的位置用来放三个表达式:
			 * 		1.初始化表达式
			 * 		2.条件表达式
			 * 		3.更新表达式
			 * 
			 *  for循环的语法:
			 * 		for(①初始化表达式;②条件表达式;④更新表达式){
			 * 			③语句...
			 * 		}
			 * 
			 * 		for循环的执行流程:
			 * 			①执行初始化表达式,初始化变量(初始化表达式只会执行一次)
			 * 			②执行条件表达式,判断是否执行循环。
			 * 				如果为true,则执行循环③
			 * 				如果为false,终止循环
			 * 			④执行更新表达式,更新表达式执行完毕继续重复②
			 */
			
			//创建一个执行10次的while循环
			//初始化表达式
			/*var i = 0;
			
			//创建一个循环,定义条件表达式
			while(i < 10){
				//设置更新表达式
				alert(i++);
			}*/
			
			for(var i = 0 ; i < 10 ; i++ ){
				alert(i);
			}
			
			/*
			 * for循环中的三个部分都可以省略,也可以写在外部
			 * 	如果在for循环中不写任何的表达式,只写两个;
			 * 	此时循环是一个死循环会一直执行下去,慎用
			 * 	for(;;){
					alert("hello");
				}
			 */
			
			
		</script>
	</head>
	<body>
	</body>
</html>

for练习一
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
			 * 打印1-100之间所有奇数之和
			 */
			
			//创建一个变量,用来保存奇数之和
			//var sum = 0;
			
			//打印1-100之间的数
			for(var i=1 , sum=0 ; i<=100 ; i++){
				
				//判断i是否是奇数
				//不能被2整除的数就是奇数
				if(i%2 != 0){
					//如果i除以2有余数则证明i是奇数
					//console.log(i);
					sum = sum+i;
				}
			}
			
			console.log("奇数之和为 : "+sum);
			
		</script>
	</head>
	<body>
	</body>
</html>

for练习二
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
			 * 打印1-100之间所有7的倍数的个数及总和
			 */
			//定义一个变量,来保存总和
			var sum = 0;
			//定义一个计数器,来记录数量
			var count = 0;
			
			//打印1-100之间所有的数
			for(var i=1 ; i<=100 ; i++){
				
				//判断i是否是7的倍数
				if(i % 7 == 0){
					//console.log(i);
					sum += i;
					//使计数器自增1
					count++;
					
				}
				
			}
			
			//输出总和
			console.log("总和为:"+sum);
			//输出总数
			console.log("总数量为:"+count);
			
			
			
		</script>
	</head>
	<body>
	</body>
</html>

for练习三
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
			/*
			 * 水仙花数是指一个3位数,它的每个位上的数字的3 次幂之和等于它本身。
				(例如:1^3 + 5^3 + 3^3 = 153),请打印所有的水仙花数。
			 */
			
			//打印所有的三位数
			for(var i=100 ; i<1000 ; i++){
				
				//获取i的百位 十位 个位的数字
				//获取百位数字
				var bai = parseInt(i/100);
				
				//获取十位的数字
				var shi = parseInt((i-bai*100)/10);
				
				//获取个位数字
				var ge = i % 10;
				
				//判断i是否是水仙花数
				if(bai*bai*bai + shi*shi*shi + ge*ge*ge == i){
					console.log(i);
				}
				
				
			}
			
			
		</script>
	</head>
	<body>
	</body>
</html>

for练习四
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 * 在页面中接收一个用户输入的数字,并判断该数是否是质数。
				质数:只能被1和它自身整除的数,1不是质数也不是合数,质数必须是大于1的自然数。	
			 */
			
			var num = prompt("请输入一个大于1的整数:");
			
			
			//判断这个值是否合法
			if(num <= 1){
				alert("该值不合法!");
			}else{
				
				//创建一个变量来保存当前的数的状态
				//默认当前num是质数
				var flag = true;
				
				//判断num是否是质数
				//获取2-num之间的数
				for(var i=2 ; i<num ; i++){
					//console.log(i);
					//判断num是否能被i整除
					if(num % i == 0){
						//如果num能被i整除,则说明num一定不是质数
						//设置flag为false
						flag = false;
					}
				}
				
				//如果num是质数则输出
				if(flag){
					alert(num + "是质数!!!");
				}else{
					alert("这个不是质数")
				}
				
				
			}
			
			
		</script>
	</head>
	<body>
	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值