你有没有遇到过这种情况:在Excel里想筛选出“工资高于8000且入职时间在2023年之后”的员工,或者写程序时要判断“用户登录了并且有权限访问这个页面”?这时候靠肉眼找太慢,手动操作也不现实,就得靠“逻辑运算”来帮忙。
什么是逻辑运算?
逻辑运算不是高深的数学,它其实就是处理“是或非”的计算。计算机底层只认0和1,对应“假”和“真”,而逻辑运算就是在这两个值之间做判断。最常见的三种运算是:与(AND)、或(OR)、非(NOT)。
与(AND):全都要满足
比如你想买一台新电脑,要求是“价格低于6000元 并且 内存至少16GB”。这两个条件必须同时成立,才算符合条件。在编程中,通常用 && 表示。
price < 6000 && ram >= 16
只有当 price 真的小于6000,而且 ram 确实大于等于16时,整个表达式才为“真”。
或(OR):满足一个就行
再比如,公司发福利,规则是“年龄超过55岁 或者 工龄满30年”就能提前退休。只要其中一个成立,就可以办理。编程中一般用 || 表示。
age > 55 || work_years >= 30
哪怕你才50岁,但干了30年,也符合;或者你工龄短,但年纪到了,一样可以退。
非(NOT):反过来想
这个最简单,就是取反。比如系统登录后,判断“用户没有管理员权限”,就可以用 NOT。
!is_admin
如果 is_admin 是 true(是管理员),加上 ! 之后就变成 false,表示“不是管理员”。
实际用在哪?
别以为这玩意儿只能写代码用。其实在日常办公里也随处可见。比如在Excel里筛选数据:
=IF(AND(B2>8000, C2>"2023/1/1"), "符合条件", "排除")
这句公式的意思是:如果B列工资大于8000,并且C列入职时间晚于2023年1月1日,就标为“符合条件”,否则“排除”。
又比如你在用数据库查资料,写个查询语句:
SELECT * FROM users WHERE status = 'active' AND (age > 60 OR city = 'Beijing');
这条命令会找出所有“状态活跃”并且“年龄超过60岁或住在北京”的用户。逻辑运算让查找变得精准又高效。
小技巧:别忘了括号
多个条件混在一起时,顺序容易乱。就像算术里的加减乘除要讲究优先级,逻辑运算也有规则:NOT 优先于 AND,AND 优先于 OR。但为了保险,建议多用括号明确意图。
!(A && B) || C
这样一眼就知道:先算 A 和 B 的“与”,再取反,最后和 C 做“或”。
掌握这几个基本操作,你在处理数据、写脚本甚至配置自动化任务时都会轻松不少。逻辑运算不是程序员专属,它是现代人用电脑解决问题的基本功之一。