8个回答
展开全部
(&,|)它们是逻辑操作,(&&,||)它们是条件操作。
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑运算与(and).
|| 按位或运算符 ,表示按位或运算,||是逻辑或算符,表示逻辑或运算。
条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型的。
不同点:
对于A&B,不管a是否为假,仍然要判断B。
对于A|B,不管a是否为真,仍然要判断B。
而对于A&&B,A||B在以上情况就不会去判断B了。
帮助别人就是帮助自己,希望大家一块进步。
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑运算与(and).
|| 按位或运算符 ,表示按位或运算,||是逻辑或算符,表示逻辑或运算。
条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型的。
不同点:
对于A&B,不管a是否为假,仍然要判断B。
对于A|B,不管a是否为真,仍然要判断B。
而对于A&&B,A||B在以上情况就不会去判断B了。
帮助别人就是帮助自己,希望大家一块进步。
展开全部
java中的&&具有“短路”现象,也就是说,当&&左边的表达式为假时,就不再计算剩余的&&右边的值是否为真。而&则不同,就算&&左边的表达式是假,它还是会计算&右边的表达式。
而||和|也是一样道理的。
希望我的回答能给你点帮助。谢谢
而||和|也是一样道理的。
希望我的回答能给你点帮助。谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
&有两种解释..一是按位与 另一个就是且(并且) &&只是并且的意思
下面说下&是且 时 和&&的关系..
if(a==b&b==c){
..
}
用&的话 程序会先判断a是否=b 如果不等于. 还要跳过判断b是否=c.
但如果
if(a==b&&b==c){
..
}
是这样的话..程序判断a!=b的话 直接后面的b是否=c就不做判断了..直接跳出.
明白了吧。所以&&叫做断位符...因为它使得少判断一句..提高了效率.!
下面说下&是且 时 和&&的关系..
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。
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。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算两边的表达式的结果都为true时,整个运算结果才为true。否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str!=null&&!str.equals(""))表达式,当str为null是,后面的表达式不会再执行,所以不会出现NullPointerException如果将&&改成&,则会抛出NullPointerException异常。If(x==3&++y>0) y会增长,if(x==3&&++y)不会增长。
&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低位4个bite位,例如,0x31&0x0f的结果为0x01。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str!=null&&!str.equals(""))表达式,当str为null是,后面的表达式不会再执行,所以不会出现NullPointerException如果将&&改成&,则会抛出NullPointerException异常。If(x==3&++y>0) y会增长,if(x==3&&++y)不会增长。
&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低位4个bite位,例如,0x31&0x0f的结果为0x01。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询