&
按位与:
以二进制形式进行,每一位对应着运算,如果两边都是1则结果是1,否则结果是0;
应用场景:1. 快速清零,待清零数与一个位数相同,各位都是0的数做与运算;
2. 求一个二进制数的某一位或几位上面的数字,待求的二进数和一个二进制数x做与运算,要求的是那几位就把x的对应位设为1,其他未设为0;
逻辑与:
运算符的两边的表达式计算的Boolean值都是true则返回结果为true,否则返回false;
&&
逻辑与:
两边的表达式计算的值都是true时返回true,否则返回false;
短路运算:
如果左边的表达式运算结果是false,将跳过右边表达式,因为无论右边的表达式的结果是什么都已经无法影响&&的结果了。
|
按位或:
以二进制形式进行,每一位对应着运算,如果两边有一个1出现,结果就是1,只有两边都是0,结果才是0;
应用场景:用来把一个二进制数的某个位置设置为1,待设置的数与一个特别构造的数做按位或运算,那些为需要置为1,就在构造的数相应位置设为1;
逻辑或:
运算符的两边的表达式计算的结果只要有一个为true,则返回结果为true,否则返回false;
||
逻辑与:
两边的表达式计算的值有一个是true时返回true,否则返回false;
短路运算:
如果左边的表达式运算结果是true,将跳过右边表达式,因为无论右边的表达式的结果是什么都已经无法影响||的结果了。