Nou*_*fal 2 java bitwise-operators logical-operators
我知道Bitwise运算符&,| 和^是按位运算符或逻辑运算符...取决于操作数的类型.
如果操作数是整数,则运算符是按位的.如果他们是布尔,那么运营商是合乎逻辑的.
那么为什么有逻辑运算符&&,|| 和!?我相信在某些情况下我们只能使用逻辑运算符,所以它们就是这样.
那么,任何人都可以解释这种情况吗?或者比按位操作有任何优势.
运营商&&和|| 懒洋洋地评估.这意味着只能评估一方.
运营商&和| 热切地评估,这意味着始终对双方进行评估.
当表达式有副作用时,这一点非常重要.
例子
x = 0;
(x++ == 0) || (x++ == 1); // x is 1
x = 0;
(x++ == 0) | (x++ == 1); // x is 2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1567 次 |
| 最近记录: |