逻辑运算符

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

不同形式的逻辑运算符

  • 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等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

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

相关推荐
IT毕设梦工厂12 分钟前
计算机毕业设计选题推荐-在线拍卖系统-Java/Python项目实战
java·spring boot·python·django·毕业设计·源码·课程设计
luthane39 分钟前
python 实现average mean平均数算法
开发语言·python·算法
Hellc00739 分钟前
什么是 WebApiEngine?
c#
码农研究僧44 分钟前
Flask 实现用户登录功能的完整示例:前端与后端整合(附Demo)
python·flask·用户登录
Ylucius1 小时前
动态语言? 静态语言? ------区别何在?java,js,c,c++,python分给是静态or动态语言?
java·c语言·javascript·c++·python·学习
dangoxiba1 小时前
【Unity学习心得】如何使用Unity制作“饥荒”风格的俯视角2.5D游戏
游戏·unity·c#·游戏引擎
凡人的AI工具箱1 小时前
AI教你学Python 第11天 : 局部变量与全局变量
开发语言·人工智能·后端·python
sleP4o1 小时前
Python操作MySQL
开发语言·python·mysql
是店小二呀1 小时前
【C++】C++ STL探索:Priority Queue与仿函数的深入解析
开发语言·c++·后端
七夜zippoe1 小时前
分布式系统实战经验
java·分布式