春節
快樂

花潮论坛

搜索
热搜: 活动 交友 discuz
查看: 19|回复: 12

布尔值与逻辑判断

[复制链接]
  • TA的每日心情
    奋斗
    2026-2-19 12:46
  • 签到天数: 1736 天

    [LV.Master]伴坛终老

    3110

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

    发表于 2026-2-19 20:50 | 显示全部楼层 |阅读模式

    请马上登录,朋友们都在花潮里等着你哦:)

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    1️⃣布尔值

    布尔值(Boolen)是计算机科学中的一种 数据类型 ,通常用于表示真(True)或假(False)。

    布尔值的值非真即假,是对开关开或关两种状态的严格模拟,在编程实践中常用来做逻辑判断。例如,小军同学报名参军,计算机程序根据其年龄进行判断是否符合报名条件,布尔值这个时候就能用上。我们假设报名年龄规定如下:

    年龄大于等于18周岁且小于等于22周岁
    ……(还有其他条件)

    计算机如何就上述规定做出判断呢?假设小军年报填的年龄是17.5岁,则年龄小于18岁,布尔值为假,不符合报名条件;如果填的是19岁整,则年龄大于17岁且不突破最大年龄,布尔值为真,符合报名条件;如果填写的年龄是23周岁,则突破了22岁的最大年龄规定,就普通公民而言不能报名。

    这里面涉及到了复合性的条件判断,所以需要用到逻辑判断的“与”、“或”、“非”。

    2️⃣逻辑判断

    基于真假两种状态做出的判断叫逻辑判断。好比电灯的开关,如果开关的状态为开则灯亮,反之则灯不亮。以JS为例,它这么操作:

    if (switch === 'on') {
        lights = 'on';
    } else {
        lights = 'off';
    }

    switch 是我们假定的开关名称,这叫自定义变量,lights一样是个变量,代表灯,开关的开、灯亮的状态用字符串值 'on' 表示,'off' 表示关。 if ... else ... 是判断流程语句,“如果……否则……”之意;if 后面是一个放在小括号 () 里的表达式,语句 switch === 'on' 是“开关开”的意思,三个等号 === 表示严格等于。表达式 switch === 'on' 如果成立(布尔值为true), lights = 'on',即灯亮,语句放在一组花括号 {} 内,反之, lights='off'`,灯灭,语句也要放在花括号内。

    开关的开和关影响灯的亮灭是简单的逻辑判断,条件单一,仅凭布尔值的真、假状态便可实现。现在我们回到小军参军的年龄判断问题:由于年龄有上下边界设定,在对年龄是否符合报名条件时需要使用复合式条件,试看:

    if (age >= 18 && age <= 22) {
        console.log('pass'); // 通过
    } else {
        console.log('no pass'); // 不通过
    }

    条件表达式 (age >= 18 && age <= 22) 例的 && 是 and(与)的意思,它用来粘连两个子表示式, age >= 18age <= 22 ,表示这两个子表达式必须同时成立。这叫“ 逻辑与 ”,&& 等于 and,原意“和”,这里称为“与”,即 逻辑与

    逻辑或 ”用 || 表示,or(或者)的意思。现在假设小军的年龄为23岁,他之所以报名因为他是在读大学生或者是研究生,参军年龄规定中有放宽政策:对在读大学生可以放宽到24岁、在读研究生可以放宽到26岁。这时,仅针对年龄大于22周岁而言, 逻辑或 用上:

    // 外层条件:处理22~24岁年龄段,用逻辑与
    if (age >= 22 && age <= 24) {
        // 里层条件:判断是大学生或研究生,用逻辑或
        if (collegeStudent || graduateStudent) {
            console.log('pass');
        } else {
            console.log('no pass');
        }
    }

    在 22~24 这个年龄段,如果身份为在读大学生或是在读或已毕业研究生都可以报名。里层条件语句针对身份做判断,两条用 || 黏连起来的子条件语句只要有一条成立,复合表达式整体布尔值就会为真(true),可以报名,两条子表达式都为假则整体表达式布尔值为假,不能报名。PS:两条子表达式都为真的情形会存在,若此,条件自然也成立。

    逻辑与逻辑或 在一些特殊的情形下会出现“互换”状态,就是说,要想表达实际意义的逻辑与或逻辑或,你得用相反的符号:

    // 假设小军是研究生
    let collegeStudent = false, graduateStudent = true;
    // 外层条件:处理22~24岁年龄段,用逻辑与
    if (age >= 22 && age <= 24) {
        // 里层条件:判断是大学生或研究生,本质逻辑或的写成逻辑与
        if (!collegeStudent && !graduateStudent) {
            console.log('no pass');
        } else {
            console.log('pass');
        }
    }

    里层判断两个子表达式使用了布尔值反转(!)附,表示否定, !collegeStudent 意为非在读大学生, !graduateStudent 意为非研究生,类似的, !== 表示不等于,是否定状态的逻辑表达式,这时的复合表达式的粘连符号,表示“或者”时使用 && ,表示“与”时使用 || ,和普通情形的使用恰恰相反。

    而符号 ! 则为 逻辑非 的前导词或叫关键字,它用在布尔变量或单、双等号的前面,用来否定不是、不等于,等同于将布尔属性值进行意义反转。

    参与逻辑判断的关键字还有一个叫 三元运算符 ,它可以对三个值进行操作。例如,已知小军的年龄超过普通公民报名参军的最大年龄限制(现在我们假设它的年龄是25周岁),但他是研究毕业生,现在我们用三元运算符来判断他能否报名参军:

    let age = 25, graduateStudent = true; // 25岁、研究生
    console.log(graduateStudent ? 'pass' : 'no pass');

    很高兴,通过。三元运算符是这么工作的,它分为三个部分:

    1. graduateStudent ? 处理第一个变量值,问是否为研究生;
    2. 'pass' : 处理第二个变量,是研究生的话赋值 pass
    3. 'no pass' ,处理第三个变量,不是研究生的话赋值 no pass

    就是说,问号 ? 问前面的变量是否为真,若是,取其后面的值,冒号 : 表示否则,否则的话,则取其后值。

    逻辑判断主要就是以上讨论的这些:“与”、“或”、“非”、“三元”。绝大多数情形下使用它们会应该很简单,特殊情况下有时会很烧脑。但只要真正实践过,一切都将会非常明晰。# 布尔值与逻辑判断

    3️⃣逻辑运算符的短路机制

    逻辑运算符还可以用于短路设计,使得实现某种功能的代码更简洁而优雅。想象一下小军在填表时可能漏填了某个细节项目,例如忘记了填写或因为不是在校大学生而没有勾选“是否是在读大学生”栏目,此种情形,程序判断为不是在读大学生:

    let collegeStudent = chkIsCollegeStudent.checked && true;
    console.log(collegeStudent);

    chkIsCollegeStudent 是一个复选框,如果勾选,则表达式 chkIsCollegeStudent.checked = true ,不勾选值为 false;上述语句,使用 逻辑与 关键字 && 表示短路:若复选框勾选,则返回 true(反之会返回false)。使 逻辑或 也可以打到相同的效果:

    let collegeStudent = chkIsCollegeStudent.checked || false;
    console.log(collegeStudent);

    布尔值逻辑判断短路还有其它的机制或用途,这里就不展开讨论了。

    总而言之,逻辑判断主要就是以上讨论的这些:“与”、“或”、“非”和“三元”。绝大多数情形下使用它们应该都会很简单,特殊情况下有时会很烧脑——但只要真正实践过,一切都将会非常明晰。

    评分

    参与人数 3威望 +130 金钱 +260 经验 +130 收起 理由
    霜染枫丹 + 30 + 60 + 30 创意十足,赞一个!
    红影 + 50 + 100 + 50 创意十足,赞一个!
    小辣椒 + 50 + 100 + 50 匠心独运,细节精致入微!

    查看全部评分

  • TA的每日心情
    开心
    2019-11-25 21:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    1467

    主题

    6万

    回帖

    12万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀青草情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀男儿情怀鹰傲苍穹心香一瓣音画大师天籁妙音风雨同行我心永远喜乐安康中秋征文指尖上的流年花潮管理

    发表于 2026-2-19 21:52 | 显示全部楼层
    不懂,坐沙发学习。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2026-2-19 12:46
  • 签到天数: 1736 天

    [LV.Master]伴坛终老

    3110

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2026-2-19 22:04 | 显示全部楼层
    小辣椒 发表于 2026-2-19 21:52
    不懂,坐沙发学习。

    这个比叫抽象,不懂就是不懂了,没关系
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-25 21:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    1467

    主题

    6万

    回帖

    12万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀青草情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀男儿情怀鹰傲苍穹心香一瓣音画大师天籁妙音风雨同行我心永远喜乐安康中秋征文指尖上的流年花潮管理

    发表于 2026-2-19 22:07 | 显示全部楼层
    马黑黑 发表于 2026-2-19 22:04
    这个比叫抽象,不懂就是不懂了,没关系

    我确实是不懂,刚才那个视频坐按钮我明天做了,今天想早点下,有现成代码应该很快的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2026-2-19 12:46
  • 签到天数: 1736 天

    [LV.Master]伴坛终老

    3110

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2026-2-19 22:17 | 显示全部楼层
    小辣椒 发表于 2026-2-19 22:07
    我确实是不懂,刚才那个视频坐按钮我明天做了,今天想早点下,有现成代码应该很快的

    这类按钮你其实也用过的。只不过是一些CSS修饰。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-11-25 21:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    1467

    主题

    6万

    回帖

    12万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀青草情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀男儿情怀鹰傲苍穹心香一瓣音画大师天籁妙音风雨同行我心永远喜乐安康中秋征文指尖上的流年花潮管理

    发表于 2026-2-19 22:23 | 显示全部楼层
    发现今天你发的我可以秒做,抄个作业,稍等。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2026-2-20 01:27
  • 签到天数: 102 天

    [LV.6]常住居民II

    214

    主题

    2169

    回帖

    1万

    积分

    版主

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮美女鼠牛虎兔龙蛇马羊猴鸡狗猪七彩绚丽金剪刀开朗大方花潮版主

    发表于 2026-2-19 22:34 | 显示全部楼层
    看到帖子,正和儿子在线闲聊。于是产生一个有趣的对话
    问儿子:布尔值与逻辑判断是什么东东?

    “你在论坛上看到的?“
    “是的,认识字不知道在说啥,有用吗?“
    “作用太大了,对傻娘而言知道这是一种简化复杂问题的过滤器即可,你们论坛说这个挺高大上的,与我离不开。“
    “我有必要去了解吗“
    “有难度,还是可以知道点表层,但对您没用,您都是用“拍脑袋“来作决定,对严谨的人需要“

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1895

    主题

    32万

    回帖

    38万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2026-2-19 22:39 | 显示全部楼层
    好像前面还行,越到后面越难懂。
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-12-1 20:32
  • 签到天数: 1052 天

    [LV.10]以坛为家III

    1895

    主题

    32万

    回帖

    38万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2026-2-19 22:50 | 显示全部楼层
    其实应该之前用过的,只是不知道来龙去脉。
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2026-2-19 12:46
  • 签到天数: 1736 天

    [LV.Master]伴坛终老

    3110

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2026-2-19 23:53 | 显示全部楼层
    小辣椒 发表于 2026-2-19 22:23
    发现今天你发的我可以秒做,抄个作业,稍等。。。

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2026-2-19 12:46
  • 签到天数: 1736 天

    [LV.Master]伴坛终老

    3110

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2026-2-19 23:54 | 显示全部楼层
    霜染枫丹 发表于 2026-2-19 22:34
    看到帖子,正和儿子在线闲聊。于是产生一个有趣的对话
    问儿子:布尔值与逻辑判断是什么东东?

    不编程的了解个大意即可
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2026-2-19 12:46
  • 签到天数: 1736 天

    [LV.Master]伴坛终老

    3110

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2026-2-19 23:56 | 显示全部楼层
    红影 发表于 2026-2-19 22:39
    好像前面还行,越到后面越难懂。

    布尔值容易懂,布尔值的组合就抽象了,而布尔值用于逻辑判断通常都是复合性的就会更抽象,用逻辑判断做短路则更抽象。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2026-2-19 12:46
  • 签到天数: 1736 天

    [LV.Master]伴坛终老

    3110

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2026-2-19 23:58 | 显示全部楼层
    红影 发表于 2026-2-19 22:50
    其实应该之前用过的,只是不知道来龙去脉。

    很多地方都会用到布尔值和使用它来做逻辑判断,即使不编程。深入其中,可以弄懂其逻辑脉络。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|服务支持:DZ动力|huachaowang.com Inc. ( 蜀ICP备17032287号-1 )

    GMT+8, 2026-2-20 02:04 , Processed in 0.095040 second(s), 25 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表