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

逻辑运算符的陷阱

作者: 三木成森 | 来源:发表于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这个表达式

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

    相关文章

      网友评论

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

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