1.&和&&,|和||
首先,在java中,它们都是逻辑运算,&和&&都是‘与’运算,只要有一个表达式为false,则结果为false。|和||都是‘或’运算,只要有一个表达式为true,则结果为true。
一个符号和两个符号的区别是&和|是无论前面的表达式结果如何,后面的表达式也要判断。
&&为按顺序前面表达式出现false则直接返回false,后面表达式不再判断,所有表达式都为true则结果为true。
||为按顺序前面表达式出现true则返回true,后面表达式不再判断,所有表达式都为false则结果为false。
在运算中,& 和|是按位运算, a&b或者a|b是把a和b都转换成二进制数然后再进行‘与’或者‘或’的运算
& 按位与,将两个表达式的值按二进制位展开,对应的位(bit)按值进行“与”运算,结果保留在该位上。如果两数位数不同,则较短数高位补零。‘与’运算为对应的位的值都为1则为1,否则为0.
|按位或,将两个表达式的值按二进制位展开,对应的位(bit)按值进行“或”运算,结果保留在该位上。如果两数位数不同,则较短数高位补零。‘或’运算为对应的位的值都为0才为0,否则为1.
2.^,∨,与,或
^就是与,∨就是或,逻辑与就是两重叠部分,逻辑或就是两加起来的部分。