1.&(与运算)
在二进制中,运算规则:0&0=0;0&1=0;1&0=0;1&1=1;
类比到十进制,例如 3和4,首先化成二进制,就是 011 和 100,再进行相同位上的与运算,就是 000,最后就是0,因为是“运算符号”,所以返回的是int 类型,再举个例子13和4,就是1101和0110,结果是0100,就是4.
1.2 &&(逻辑与)
就我而言,如同在名称上的区别,这个主要是用来判断的,当然&也能用来做判断,这得是情况而定。名在细节上的区别首先就是效率上是低于逻辑运算符,其次就是&不具有短路效果,即左边false,右边还会执行;&&具有短路效果,左边为false,右边则不执行
2.|(或运算)
运算规则:0|0=0;0|1=1;1|0=1;1|1=1;
同理,也是举个例子,3和4,首先化成二进制,就是 011 和 100,再进行相同位上的与运算,就是111,化成十进制就是7.
2.1 ||(逻辑或)
与上面一样,| 不具有短路效果,即左边true,右边还会执行;|| 具有短路效果,左边为true,右边则不执行
3.^(异或运算符)
运算规则:0^0=0;0^1=1;1^0=1;1^1=0;
举个例子3和4,首先化成二进制,就是 011 和 100,再进行相同位上的异或运算,就是111,化成十进制就是7.