美文网首页
逻辑运算符的陷阱

逻辑运算符的陷阱

作者: 三木成森 | 来源:发表于2015-08-22 17:48 被阅读29次

逻辑运算符

逻辑与&&:两个都为真时,才为真

int a = 4, b = 6;

int result = a < b && a++;

由于非0即为真,因此result结果为真,也就是1

逻辑或||:有一个为真即为真, 全假即为假

int result = a < b || a > 100;

result结果也为1.因为a < b为真,所以结果为真

逻辑!:对结果取反

int result = !(a < b);

result 结果为:0(假), 因为a < b为真,取反后为假

经过上面的知识了解了逻辑运算符,但是在实际运用过程中,逻辑运算符有时并不会像你想的那样.

1.逻辑与的短路现象

    result = a > b && a < 10;

result为假,但是程序运行时只判断了第一个,a > b 是假,直接结束,返回结果.并没有执行 a < 10

2.逻辑或的短路现象

result = a < b && a >10;

result为真,但程序也是只判断了第一个表达式a < b,并没有判断a > 10这个表达式

在实际应用中,写判定条件时,要注意发生短路现象后,是否会影响代码的正确性.

相关文章

  • 逻辑运算符的陷阱

    逻辑运算符 逻辑与&&:两个都为真时,才为真 int a = 4, b = 6; int result = a <...

  • 1.4.运算符

    按功能分为: 算术运算符 赋值运算符 关系运算符 逻辑运算符 位运算符 其他运算符 ---------- 逻辑运算...

  • JavaScript逻辑运算符与赋值运算符

    逻辑运算符 JavaScript中有三个逻辑运算符,&&与、||或、!非。 JavaScript 中的逻辑运算符可...

  • 1.3 Python 运算符

    1.3.1 算数运算符 1.3.2 关系运算符 1.3.3 赋值运算符 1.3.4 逻辑运算符 注: 逻辑运算优先...

  • day05赋值运算符.三元运算符.三元运算符在分页业务逻辑中使用

    赋值运算符 比较运算符 三元运算符 三元运算符在分页业务逻辑中使用 逻辑运算符

  • 逻辑运算符

    赋值运算符 比较运算符 先运算再比较 逻辑运算符 比较大于逻辑!,&&,|| 单目运算符(!++ -- & ) 大...

  • 03-基本运算

    运算符可以分为:算术运算符、比较运算符和逻辑运算符。 优先级是:算术运算符>比较运算符>逻辑运算符。 不过呢,开始...

  • 03-基本运算

    运算符可以分为:算术运算符、比较运算符和逻辑运算符。优先级是:算术运算符>比较运算符>逻辑运算符。不过呢,开始没背...

  • 运算符

    运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。 运算符分为:算术运算符、关系运算符、逻辑运算符、位运算符、...

  • 【Python】运算符

    基本运算符 比较运算符 逻辑运算符

网友评论

      本文标题:逻辑运算符的陷阱

      本文链接:https://www.haomeiwen.com/subject/kzuoqttx.html