关于Java里面的短路逻辑运算符
来源:互联网 发布:图像虚化处理算法 编辑:程序博客网 时间:2024/03/29 17:59
逻辑运算符执行的是短路求值
所谓短路,就是当参与运算的一个操作数已经足以推断出这个表达式的值的时候,另外一个操作数(有可能是表达式)就不会执行
比如:
static boolean f1() { System.out.println( "function f1 called." ); return true; }
static boolean f2() { System.out.println( "function f2 called." ); return false; }
if ( false && f1() ) {} // f1不会被调用
if ( true || f2() ){} // f2不会被调用
由于&&要求它的参与操作的两个操作数都是布尔值真,才得真,所以只要得出其中一个为假,那么另一部分的表达式就不会被求值(在上面的例子中是f1()不会被调用)
同理由于||要求它的参与操作的两个操作数只要其中之一为真,就得真,所以只要得出其中一个为真,那么另一部分也不会被求值(在上面的例子中是f2()不会被调用)
这就是逻辑操作符所谓的“短路求值”
位操作没有这一特性,所以不管那边的值是如何,任何参与运算的表达式都会被执行求值,因此也就产生了你代码之中的结果了。
- 关于Java里面的短路逻辑运算符
- 关于java逻辑运算符的短路特性
- JAVA逻辑运算符的“短路特性”
- Java逻辑运算符(短路)
- 逻辑运算符的短路特性
- 逻辑运算符的短路运算
- 逻辑运算符的短路特性
- java逻辑运算上的短路特性
- PHP中逻辑运算符的短路特性
- 逻辑运算的短路现象
- 逻辑运算的短路问题
- 逻辑运算的短路特征
- 关于逻辑运算符、赋值运算符、位运算符的优先级,还有短路问题。
- Java的逻辑运算符
- Java的逻辑运算符
- Java的逻辑运算符
- java的逻辑运算符
- 关于逻辑运算符的理解
- 递归逆置链栈
- 指针
- 求n个数中最大k个数之和
- 嵌入式C程序员为啥要学RTSC?
- websphere schduler tables define
- 关于Java里面的短路逻辑运算符
- Unix vim命令详解
- 一个无重复面值的找零算法的思路与实现(二)
- vb 6.0下面窗口Form的Picture属性不能更改问题
- 6、 java 输入一个数字组成的数组,输出该数组的最大值和最小值
- ios6下画面旋转的问题
- JavaScript对象浅谈
- iOS项目开发经验:【常用代码4】
- 输出所有的字符组合(可重复)