&& : if( (a > b ) && ( b > c )){
//if语句中必须都有true才执行
};
&: if((a > b ) & ( b > c )){
//也可以执行
};
区别1:
&&、|| : 都存在(短路)的操作;
&、| :不存在短路,都是按照二进制的位运算;
位运算:将两个数字转为二进制进行运算;
&:是以乘法的方式:上下两数相乘有0值就0
0000 0101; //5
0000 0011; //3
0000 0001; //1
System.out.println( 5 & 3); //1
|:是以加法的方式:上下两数相加有1值就1(不进行进位)
区别2:单&、单|,左边无论真假,右边都进行运算;
&&、||,左边为真,右边参与运算。左边为假,右边不参与运算;
二进制的按位取反(~5 (飘5))
// 打印-6 、写出5的二进制形式 ,取反—–1010(负数,结果值),在进行补码(取反加1) 从右边开始除了第一个1,其他全部取反,—-0110(6);
java 的 && 和 & 、|| 和 | 区别
最新推荐文章于 2024-01-15 21:49:05 发布