023day(逻辑分支)

逻辑分支

引入:我们在日常生活中,有很多事情是需要做判断的,比如说,去服装城买衣服,你看中一件衣服,老板要300 元,你立马就会想,这个价格是否贵了,判断的结果只有两种可能,一是贵,二是不贵,贵了你就不买了,不贵你就 买了。再比如去网吧,网管也要判断你是否满18岁,结果也只有两种,是和否,是就上网,不是就看别人上网,再比 如,学校根据考试成绩对每个人进行评级,如果成绩大于60就合格,否则就不合格,如果成绩大于90,就优秀等 等。。。在咱们的代码中,也会有很多判断,比如咱们做的练习,小红满足条件了,就能嫁人了,不满足条件就不能 嫁人。咱们昨天只是能看到一个布尔值,并没有进行下一步的操作,通过今天的学习就可以进行下一步的操作了,咱 们今天学习的主要内容就是判断,也叫做逻辑分支。

判断也会有很多种,比如:

考试成绩大于60,及格

考试成绩大于60,及格,否则,不及格

考试成绩如果大于60并且小于80,及格,如果大于80并且小于90,良好,如果大于90,优秀

根据上述几种情况,我们把判断分为三种,根据结果只做一个件事情的,叫单分支,做两件事情的,叫做双分支,做 多件事情的,叫多分支。

单分支

语法:

例:

双分支

语法:

例:

案例:输入年份,判断是否是闰年

多分支

语法:

例:

分支结构的简写方式

如果单分支或双分支以及多分支的大括号中只有一行代码的时候,大括号可以省略。

例:

分支结构的嵌套

例:定义三个变量,求出三个值中的最大值。

switch多路判断

语法:

使用说明:

1. break表示当前分支执行后就结束switch的运行,后续代码不再运行

2. default可以理解为判断语句中的else

3. case理解为if来判断这个变量是否全等于某个值

例:

注意:使用多路判断的时候,能使用switch进行判断,就尽量使用switch,因为switch的判断都是确定的值,条件比 较简单,所以效率高。

使用场景:

如果判断的条件比较复杂,使用if

条件是确定的值,分两种情况:

如果判断的分支小于等于3个,就使用if,这时候的效率和switch一样

如果大于3个,就使用switch。

switch判断使用的是全等于(===)

switch 穿透写法

如果case后面不写break,那当前case执行后,会继续执行后面的case中的代码

输出1~5:

当day的值为2的时候,不会执行后面的代码,当day的值为3的时候,执行完3的代码,还会执行4的代码,因为3的 代码后面没有break。

这时候可以利用switch的这个特性,简写一些代码:

输入一个月份,判断并输出这个月有多少天?

if条件中的细节

if条件的结果是布尔值,所以可以将布尔值当做条件放入if的小括号中

例:

如果将别的非布尔值的表达式或数据放入条件小括号中,会发生隐形的类型转换

例:

三元运算

if双分支有一种简写方式:

例:

这种表达双分支的方式叫做三元运算,也叫做三元表达式。

三元运算有个特点:可以将整个表达式当做一个值,可以赋值给一个变量,也可以输出

例:

练习题

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Document</title>

<script>

// 作业1

// var a = 1;

// var b = 2;

// var c = a;

// a = b;

// b = c;

// console.log(a, b);


 

//作业2

// var num = prompt("输入数字:");

// var nnn = num % 2 === 0;

// console.log(nnn);

// 作业3

// var time = prompt('输入多少小时');

// var day = parseInt(time / 24);

// var hour = time % 24;

// console.log('共' + day + '天零' + hour + '小时');




 

//作业4

// var num = prompt('输入数字');

// var bool = num % 3 === 0 && num % 5 === 0;

// console.log(bool);



 

//作业5

// var year = prompt("请输入年份:");

// var result = (year % 4 == 0 && 100 % year != 0) || year % 400 == 0;

// console.log(result);

</script>

</head>

<body>

</body>

</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值