首页 > 代码库 > Day3-if语句
Day3-if语句
3.1 if语句初步
如果……那么……否则……
if就是英语“如果”的意思,else就是“否则”。
举个例子:
1 if(明天不下雨){ 2 我就出去玩; 3 }else{ 4 我就在家写作业; 5 } |
公式:
1 if(条件表达式){ 2 条件为真的时候做的事情 3 }else{ 4 条件为假的时候做的事情 5 } |
称为if语句结构体。
一个程序:
1 <script type="text/javascript"> 2 var a = 10; //设置变量 3 if(a > 5){ 4 console.log("哈哈"); 5 }else{ 6 console.log("嘻嘻"); 7 } 8 </script> |
if语句也成为“选择语句”、“条件判断语句”,我们通过下面的图片来解释。
殊途同归,走了不一样的路,但是最后都要执行if结构体后面的语句。
条件表达式,要么是true、要么是false。绝对在计算机中,不可能出现模棱两可的情况。所以,if语句让程序有了“选择”,可以在两条路中选择一条。
小题目:
用户输入自己的考试成绩,提示用户是否及格。如果及格了,弹出警告框“恭喜,你及格了”、“不要骄傲啊”。如果没有及格,那么弹出警告框“很遗憾,你没有及格”、“请继续努力啊”。 然后都弹出“么么哒”。
答案:
1 <script type="text/javascript"> 2 //第一步,让用户输入自己的成绩。 3 var score = parseFloat(prompt("请输入你的成绩")); 4 //第二步,判断 5 if(score >= 60){ 6 alert("恭喜,你及格了!"); 7 alert("不过不要骄傲啊!"); 8 }else{ 9 alert("很遗憾,你没有及格!"); 10 alert("请继续加油啊!!"); 11 } 12 alert("么么哒"); 13 </script> |
小题目:
用户输入自己的年龄,判断用户是否在18~70岁,如果在,那么弹出框框“恭喜,可以考驾照”,“加油啊”;
否则弹出“年龄不符合要求”。 最后,都要弹出“么么哒”。
1 <script type="text/javascript"> 2 //第一步,得到用户输入的年龄 3 var age = parseInt(prompt("请输入年龄")); 4 //第二步,判断。if的结构体 5 if(age >= 18 && age <= 70){ 6 alert("恭喜,可以考驾照"); 7 alert("加油啊"); 8 }else{ 9 alert("年龄不符合要求"); 10 } 11 alert("么么哒"); 12 </script> |
小题目:
判断用户输入的密码是否正确,如果是123,那么就弹出正确;如果不是,就弹出错误。
1 <script type="text/javascript"> 2 //第一步,得到用户输入的密码 3 var password = prompt("请输入密码"); 4 5 //第二步,判断 6 if(password == 123){ 7 alert("正确"); 8 }else{ 9 alert("错误"); 10 } 11 </script> |
3.2 多分支的if语句和跳楼现象
用户输入成绩,
如果成绩大于等于85,那么提示优秀;
否则如果成绩大于等于70,那么提示良好;
否则如果成绩60~69,那么提示及格;
否则,不及格
答案:
1 <script type="text/javascript"> 2 //第一步,得到用户输入的成绩 3 var score = parseFloat(prompt("请输入成绩")); 4 5 //第二步,判断 6 if(score >= 85){ 7 alert("优秀"); 8 }else if(score >= 70){ 9 alert("良好"); 10 }else if(score >= 60){ 11 alert("及格"); 12 }else{ 13 alert("不及格"); 14 } 15 </script> |
语法:
1 if(条件表达式1){ 2 条件1为真的时候做的时候 3 }else if(条件表达式2){ 4 条件1不满足,条件2满足的时候做的事情 5 }else if(条件表达式3){ 6 条件1、2不满足,条件3满足的时候做的事情 7 }else{ 8 全都不满足的时候做的事情 9 } |
跳楼现象,揭示多分支if语句的本质,就是下一个楼层已经暗含之上的楼层都不满足。
小题目: 面试题,读下面的程序,试问控制台输出什么?
明天的考试,一定有类似的题目:
1 <script type="text/javascript"> 2 var a = 10; 3 4 if(a > 5){ 5 a = a + 3; 6 }else if(a == 13){ 7 a = a + 4; 8 }else if(a == 17){ 9 a = a + 5; 10 }else{ 11 a = a + 6; 12 } 13 14 console.log(a); 15 </script> |
小练习:【分组探究作业】根据BMI(身体质量指数)显示一个人的体型。
BMI指数,就是体重、身高的一个计算公式。公式是:
BMI =体重÷身高的平方
比如,老师的体重是81.6公斤,身高是1.71米。
那么老师的BMI就是 81.6 ÷ 1.712 等于 27.906022365856163
过轻:低于18.5
正常:18.5-24.99999999
过重:25-27.9999999
肥胖:28-32
非常肥胖, 高于32
用JavaScript开发一个程序,让用户先输入自己的体重,然后输入自己的身高(弹出两次prompt框)。计算它的BMI,根据上表,弹出用户的身体情况。比如“过轻” 、 “正常” 、“过重” 、 “肥胖” 、“非常肥胖”。在程序开发中,充分考虑跳楼现象,不允许出现多余的东西。
方法1:
1 <script type="text/javascript"> 2 //第一步,输入身高和体重 3 var height = parseFloat(prompt("请输入身高,单位是米")); 4 var weight = parseFloat(prompt("请输入体重,单位是公斤")); 5 6 //第二步,计算BMI指数 7 var BMI = weight / Math.pow(height,2); 8 9 //第三步,if语句来判断。注意跳楼现象 10 if(BMI < 18.5){ 11 alert("过轻,嘻嘻嘻,你不怕被风吹走啊??多吃点吧!"); 12 }else if(BMI < 25){ 13 alert("正常,真好!!"); 14 }else if(BMI < 28){ 15 alert("过重!还好啊!"); 16 }else if(BMI <= 32){ 17 alert("肥胖,注意减肥啊!"); 18 }else{ 19 alert("非常肥胖!"); 20 } 21 </script> |
方法2:
1 <script type="text/javascript"> 2 //第一步,输入身高和体重 3 var height = parseFloat(prompt("请输入身高,单位是米")); 4 var weight = parseFloat(prompt("请输入体重,单位是公斤")); 5 6 //第二步,计算BMI指数 7 var BMI = weight / Math.pow(height,2); 8 9 //第三步,if语句来判断。注意跳楼现象 10 if(BMI > 32){ 11 alert("非常肥胖"); 12 }else if(BMI >= 28){ 13 alert("肥胖"); 14 }else if(BMI >= 25){ 15 alert("过重"); 16 }else if(BMI >= 18.5){ 17 alert("正常") 18 }else{ 19 alert("偏瘦"); 20 } 21 </script> |
3.3 if语句的嵌套
小例子:
一个加油站为了鼓励车主多加油,所以加的多有优惠。
92号汽油,每升6元;如果大于等于20升,那么每升5.9;
97号汽油,每升7元;如果大于等于30升,那么每升6.95
编写JS程序,用户输入自己的汽油编号,然后输入自己加多少升,弹出价格。
两层:
1 //第一步,输入 2 var bianhao = parseInt(prompt("你想加什么油?填写92或者97")); 3 var sheng = parseFloat(prompt("你想加多少升?")); 4 5 //第二步,判断 6 if(bianhao == 92){ 7 //编号是92的时候做的事情 8 if(sheng >= 20){ 9 var price = sheng * 5.9; 10 }else{ 11 var price = sheng * 6; 12 } 13 }else if(bianhao == 97){ 14 //编号是97的时候做的事情 15 if(sheng >= 30){ 16 var price = sheng * 6.95; 17 }else{ 18 var price = sheng * 7; 19 } 20 }else{ 21 alert("对不起,没有这个编号的汽油!"); 22 } 23 24 alert("价格是" + price); |
小例子:
某个公司要给员工发年终奖,为了奖励老员工,所以工作时间越长,发的越多,规则如下:
工作满0年 发月薪的1倍月薪年终奖,如果月薪大于8000,那么就是发1.2倍
工作满1年 发月薪的1.5倍月薪年终奖,如果月薪大于10000,那么就是发1.7倍
工作满2年,甚至更多 发月薪的3倍月薪年终奖,如果月薪大于12000,那么就是发3.2倍
用JS编写程序,让用户输入工作了几年,可以输入0,然后输入月薪。然后算年终奖。
答案见案例
3.4 if语句的小知识点
else部分可以省略。
1 <script type="text/javascript"> 2 var a = 10; 3 if(a > 20){ 4 alert("这个数字大于20"); 5 } 6 </script> |
没有else部分,就是说没有“否则”,如果条件表达式不满足了,那么就什么都不做。
如果要做的事情,只有一句话,那么可以省略大括号(初学者尽量不要这么玩儿,一定要把大括号写完整):
1 <script type="text/javascript"> 2 var a = 2; 3 if(a > 5) alert("这个数字大于5"); 4 alert("哈哈哈哈"); 5 </script> |
这个程序,a>5不满足,所以不能弹出“这个数字大于5” 。这是单行if语句,省略了大括号,
等价于:
1 <script type="text/javascript"> 2 var a = 2; 3 if(a > 5){ 4 alert("这个数字大于5"); 5 } 6 alert("哈哈哈哈"); 7 </script> |
所以“哈哈哈哈”是能够弹出的。
Day3-if语句