两者非常容易混淆, 其实这是截然不同的两种运算.
1.逻辑位运算与运算 1&2 = 0 -> 0000 0001 & 0000 0010 = 0000 0000 = 0 或运算 1|2 = 3 -> 0000 0001 & 0000 0010 = 0000 0011 = 3
按位求反(~)运算,异或(^)运算略.
移位(<<左移,>>右移)运算略.
2.逻辑运算逻辑与&& 例如: if (a.length>1 && b.length>1) 逻辑或|| 例如: if (a.length>1 || b.length>1)
逻辑求反! 例如: if (!a.length>1)
逻辑运算是常用的, 而逻辑位运算是二进制位的操作, 平时比较少用而已;