(&,|)它们是逻辑操作,(&&,||)它们是条件操作。
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑运算与(and).
|| 按位或运算符 ,表示按位或运算,||是逻辑或算符,表示逻辑或运算。
条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型的。
不同点:
对于A&B,不管a是否为假,仍然要判断B。
对于A|B,不管a是否为真,仍然要判断B。
而对于A&&B,A||B在以上情况就不会去判断B了。
&有两种解释..一是按位与 另一个就是且(并且) &&只是并且的意思
下面说下&是且 时 和&&的关系..
if(a==b&b==c){ .. } 用&的话 程序会先判断a是否=b 如果不等于. 还要跳过判断b是否=c.
但如果 if(a==b&&b==c){ .. } 是这样的话..程序判断a!=b的话 直接后面的b是否=c就不做判断了..直接跳出.
所以&&叫做断位符...因为它使得少判断一句
一般情况下编程只需要用&&就好了,比如 boolean a = true; boolean b = false; boolean c = a&&b; 那么b的值就是false;
而&是位操作符,例如: int a = 2; int b = 3; 2的二进制为10;3的二进制为11; 那么 int c = a&b; c的值就为10&11=10,所以c等于2。