转载请注明预见才能遇见的博客:https://my.csdn.net/
原文地址:https://blog.csdn.net/weixin_42787326/article/details/81291776
JavaScript流程控制-分支语句
目录
3.分支语句之if-else语句 (两个分支,只能执行一个分支)看代码
1.流程控制:有三种方式
* 1.顺序结构:从上到下,从左到右执行的顺序,就叫做顺序结构
* 2.分支结构:if语句,if-else语句,if-else if-else if...语句,switch-case语句,三元表达式语句
* 3.循环结构:while循环,do-while循环,for循环,后期还有一个for-in循环
2.分支语句之if语句:主要是判断 看代码
* 语法:
* if(表达式){
* 代码块
* }
* 执行过程:先判断表达式的结果是true还是false,如果是true则执行代码块,如果是false,大括号中的代码是不执行的
* 例子:
* 1.如果8大于6,请输出8,如果一个数字大于另一个数字则输出大的数字
* 2.问:小苏的年龄是否大于18岁,如果是成年的,则提示,可以看电影了
* 3.问:小杨帅不帅,则输出真的好帅
//例子1:
var num1=10;
var num2=100;
if(num1>num2){
console.log(num1);
}
//例子2
var age=19;
if(age>=18){
console.log("可以看电影了,嘿嘿...");
}
//例子3:
var str="帅";
if(str=="帅"){
console.log("真的好帅");
}
3.分支语句之if-else语句 (两个分支,只能执行一个分支)看代码
*语法:
* if(表达式){
* 代码1
* }else{
* 代码2
* }
* 执行过程: 如果表达式的结果是true则执行代码1,如果表达式的结果是false,则执行代码2
//例子:问;小苏的年龄是否是成年人,如果是成年人则提示,可以看电影,否则;回家写作业区
//定义变量,并初始化
var age = 100;
//判断
if (age >= 18) {
console.log("可以看电影了,嘎嘎...");
} else {
console.log("看什么看,回家写作业去");
}
//提示用户请输入年龄----
var age=prompt("请您输入您的年龄");//弹框---并且有输入,输入的内容在age变量中
console.log(age);//最终的结果是字符串的类型
//案例1:
var age = parseInt(prompt("请您输入年龄"));
//判断
if (age >= 18) {
console.log("可以看电影了,嘎嘎...");
} else {
console.log("看什么看,回家写作业去");
}
//练习1:找到两个数字中的最大值
var num1=10;
var num2=20;
if(num1>num2){
console.log(num1);
}else{
console.log(num2);
}
//练习2:判断这个数字是奇数还是偶数
var number=parseInt(prompt("请输入一个数字"));
if(number%2==0){
console.log("偶数");
}else{
console.log("奇数");
}
4.分支语句之三元表达式 看代码
两个分支,最终的结果是两个分支中的一个,像这种情况可以使用三元表达式
* 三元表达式: 运算符号: ? :
*
* 语法:
* var 变量=表达式1?表达式2:表达式3;
* 执行过程: 表达式1的结果是true还是false,如果是true则执行表达式2,然后把结果给变量;如果表达式1的结果是false,则执行表达式3,把结果给变量
//两个数字中的最大值
var x = 10;
var y = 20;
var result1 = x > y ? x : y;
console.log(result1);
//显示成年还是未成年
var age = 10;
var result2 = age >= 18 ? "成年了" : "未成年";
console.log(result2);
//总结:大多数情况,使用if-else的语句都可以用三元表达式的方式来表示
5.分支语句之if-else if语句 看代码
语法:
* if(表达式1){
* 代码1
* }else if(表达式2){
* 代码2
* }else if(表达式3){
* 代码3
* }else{
* 代码4
* }
* else if---这种结构可以写多个,具体多少个看需求,
* else--结构是可以不用写的,具体也是看需求
if语句只有一个分支
if-else语句有两个分支,最终执行一个分支
if-else if-else if-else if-else if..........else---多分支,最终也是执行一个
* 执行过程:
* 先判断表达式1的结果, 如果为true则执行代码1,如果为false则判断表达式2。
* 如果表达式2为true则执行代码2,如果为false,则判断表达式3。
* 如果表达式3为true则执行代码3
* 否则执行代码4
/*
* 例子: 成绩的结果是在90到100(包含)之间则 显示A级
* 如果成绩是在80到90(包含)之间,则显示B级
* 如果成绩是在70到80(包含)之间,则显示C级
* 如果成绩是在60(包含)到70(包含)之间,则显示D级
* 如果成绩在0到60(不包含)之间,则显示E级
* */
//实现代码
var score = Number(prompt("请您输入成绩"));//有bug
if (!isNaN(score)) {//如果为true就说明 不是数字
if (score > 90 && score <= 100) {
console.log("A级");
} else if (score > 80) {
console.log("B级");
} else if (score > 70) {
console.log("C级");
} else if (score >= 60) {
console.log("D级");
} else {
console.log("E级");
}
} else {
console.log("您输入有误");
}
//练习:判断一个年份是不是闰年
//定义变量存储一个年份
var year = 2017;
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
console.log("闰年");
} else {
console.log("平年");
}
6.分支语句之switch-case语句 看代码
* switch-case语句---分支语句---多分支语句
* 语法:
* switch(表达式){
* case 值1:代码1;break;
* case 值2:代码2;break;
* case 值3:代码3;break;
* case 值4:代码4;break;
* ...多个case
* default:代码5;
*
* }
* 注意问题:
* default后面的break是可以省略的,default也可以省略
* 执行过程:
* 获取表达式的值,和值1比较,如果一样,则执行代码1,遇到break则跳出整个的语句,后面代码不执行
* 如果表达式的值和值1不一样,则和值2比较,如果相同则执行代码2,遇到break则跳出
* 否则和值3比较,相同则执行代码3,遇到break,跳出,否则和值4比较,相同则执行代码4,遇到break则跳出,否则直接执行代码5
//例子:获取一个人的成绩的级别,如果是A级则显示90到100直接的分数
/*
* 如果是B级则显示80到90分
* 如果是C级则显示70到80之间分数
// * 如果是D级则显示60到70分之间
// * 否则显示0到59之间
// * */
var jiBie = "E";
switch (jiBie) {
case "A":
console.log("90到100之间");
break;
case "B":
console.log("80到90之间");
break;
case "C":
console.log("70到80之间");
break;
case "D":
console.log("60到70之间");
break;
default :
console.log("0到59之间");
}
//注意问题
var num = "10";//字符串
// console.log("10"===10);//true还是false
switch (num) {
case 10:
console.log("数字的10");
break;
case "10":
console.log("字符串的10");
break;
}
//根据月份显示对应的天数
//1,3,5,7,8,10,12 ---31天
//2----28天
//4,6,9,11----30
var month=parseInt(prompt("请输入月份"));
switch (month){
case 1:console.log("31天");break;
case 2:console.log("28天");break;
case 3:console.log("31天");break;
case 4:console.log("30天");break;
case 5:console.log("31天");break;
case 6:console.log("30天");break;
case 7:console.log("31天");break;
case 8:console.log("31天");break;
case 9:console.log("30天");break;
case 10:console.log("31天");break;
case 11:console.log("30天");break;
case 12:console.log("31天");break;
}
var month=parseInt(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;
}
//练习:根据数字显示对应的星期
var num=parseInt(prompt("请输入一个星期的数字"));
switch (num){
case 1:console.log("星期一");break;
case 2:console.log("星期二");break;
case 3:console.log("星期三");break;
case 4:console.log("星期四");break;
case 5:console.log("星期五");break;
case 6:console.log("星期六");break;
case 7:console.log("星期日");break;
default:console.log("输入错误");
}
7.总结分支语句
* 分支语句:
* if语句:一个分支
* if-else语句:两个分支,最终只执行一个分支
* if-else if-else if...语句: 多个分支,也是只会执行一个
* switch-case语句:多分支语句,最终也会一个(必须要有break)
* 三元表达式:和if-else语句是一样的
* 什么时候使用if-else if...: 一般是对范围的判断
* 什么时候使用switch-case语句:一般是对具体的值的判断
* 如果有多个分支,是针对范围的判断一般选择if-else if的语句
* 如果有多个分支,是针对具体的值判断,一般选择用switch-case语句
JavaScript流程控制-分支语句
博客地址:https://blog.csdn.net/weixin_42787326/article/details/81291776