逻辑运算符
逻辑与&&:两个都为真时,才为真
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这个表达式
在实际应用中,写判定条件时,要注意发生短路现象后,是否会影响代码的正确性.
网友评论