两个布尔变量同真同假判断的逻辑表达式含义解析
逻辑表达式
a && b || !a && !b 含义说明 这个表达式实现的是布尔逻辑里的同或运算(也叫逻辑相等判断),完全匹配题目要求的「a、b同为true或同为false时返回true」的规则。
由于编程语言中逻辑运算符的优先级默认是 !(逻辑非)> &&(逻辑与)> ||(逻辑或),所以这个表达式不需要额外加括号也会按预期逻辑执行,可以拆分为两个独立的判断分支:
- 第一个分支
a && b:仅当a、b两个变量同时为true时,该分支返回true,对应「同为true」的判断条件 - 第二个分支
!a && !b:!a表示a为false时返回true,!b表示b为false时返回true,两者做逻辑与运算后,仅当a、b同时为false时该分支返回true,对应「同为false」的判断条件 - 两个分支通过
||(逻辑或)连接,只要任意一个分支成立,整个表达式就返回true,完全覆盖题目要求的所有返回true的场景。
补充说明:在绝大多数支持布尔类型的编程语言中,这个表达式可以直接简化为a == b,直接判断两个布尔变量的值相等即可达到完全相同的效果。
内容的提问来源于stack exchange,提问作者EonRyan
相关产品推荐
相关产品推荐

