逻辑运算符

逻辑运算符返回布尔值,用于判断真假。

不同形式的逻辑运算符

  • C/C++/Java/C#使用&&和||和!表示与、或、非。事实上,C/C++ iso646.h也提供一套替代符号,用and/or/not代替逻辑运算符。宏定义支持用任何合法字符代替。
  • Shell和C系语言类似,也用!/&&/||代表不同逻辑组合。
  • SQL用and、or和not.

优先级

  • 一般而言,逻辑与运算符高于逻辑或运算符,逻辑非优先级最高。

短路计算

&&和||均支持短路计算,短路计算可提高效率也符合人类常识,形如,"你都没来过,还吵吵啥"。

  • 大部分编程语言支持短路计算,包括C系语言和Shell.

连续的逻辑表达式

逻辑表达式很容易和数学的数值范围拉上关系,但表达式"i < j < k"在几乎所有编程语言中并不能表达i < j && j < k.

  • 不能用连续的逻辑表达式的根本原因是语言语法定义了清晰的优先级和结合性,任何操作数和运算符的组合都将产生固定的运算,不管是否是连续的运算符,都得逐一计算才能进入下一个计算,这导致了不能按人类常见的"连续"逻辑表达式去理解。
  • 特例是Python支持连续逻辑表达式,例如print(1 < 10 > 9)返回True, 又被称为链式比较(chained comparison)。
    • a < f(x) < b和a < f(x) and f(x) < b有差异,前者f(x)只会计算一次。

微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

欢迎关注。助您在编程路上越走越好!

相关推荐
lemon_sjdk4 分钟前
从 ServletRequest 到 Spring 抽象:Web 请求的底层基石与演化
java·前端·spring
天l志8 分钟前
Chrome Extension + 本地服务:浏览器页面上下文采集与远程执行技术设计
python·谷歌浏览器
CodexDave10 分钟前
Python 自动化接单实战(九):Windows 免环境交付如何打包与诊断
windows·python·自动化·python自动化·pyinstaller·软件交付·windows打包
CTA量化套保13 分钟前
2026年量化入门路线,概念规则和简单实现逐步走
人工智能·python
TDengine (老段)15 分钟前
TDengine Node.js 与 C# 连接器 — Web 服务与 .NET 集成
大数据·数据库·node.js·c#·.net·时序数据库·tdengine
米码收割机17 分钟前
【Python】Python Django+Vue3校园自习室预约管理系统(源码+文档+PPT)【独一无二】
开发语言·python·django
唐青枫20 分钟前
Java Reactor Netty 实战详解:从响应式 HTTP 到 TCP 长连接
java·netty
AstartesEternal25 分钟前
python第二次作业(列表,字典)
开发语言·python
zh路西法26 分钟前
【Navigation2进阶】(十二):自主探索性能优化与 RIG 算法推导与 Nav2 插件实现
c++·dijkstra·ros2·rrt·navigation2·前沿探索
拉特莉的祈祷机27 分钟前
绿色测试日志为什么可能已经失效:用 AET 绑定命令与当前代码
python