java中&和&&是怎么运算的

 我来答
tina_77f
推荐于2017-11-28 · TA获得超过107个赞
知道答主
回答量:18
采纳率:0%
帮助的人:24.6万
展开全部
& 和 && 相同点:
都表示“与”操作。这里的“与”和数学中的“与或非”中的“与”意义相同,都遵循“一假必假”原则。即“与”符号两边的元素只要有一个为假,"与"操作执行后的结果就为假。

& 和 && 的区别:
1)& 表示“按位与",这里的”位“是指二进制位(bit)。
例:十进制数字8 转化为二进制是:1000 ;数字9 转化为二进制是1001 。
则如有以下程序:
public class Test {
public static void main(String[] args) {
System.out.println(9 & 8);
}
}
输出结果应该是:8
原因:1001 & 1000 = 1000 。 计算机中一般1表示真,0表示假。最左边一位1&1=1,最右边一位1&0 = 0.

2) && 表示逻辑”与“ ,即java中的boolean值才可以存在于&&符号的左右两侧。
true && false = false ,true && true = true , 依旧是"一假必假"。
值的注意的是:&& 符号有所谓的“短路原则”,当 A && B 出现时,如果A经判断是假,那么B表达式将不会获得执行或被判断的机会。直接结果就为假。

注:关于十进制与二进制的转换,简单的说每四位可以遵循”8421“原则,1001即8+1=9,1011即8+2+1=11
百度网友42be3b6
2011-09-19 · TA获得超过1874个赞
知道小有建树答主
回答量:1783
采纳率:25%
帮助的人:965万
展开全部
&是位运算,假如P为真。那么p & p = 1(为真),p & 非P = 0(假),只有均为真才为真,那么针对位操作就是 两个同时为 1 ,那么& 运算之后就是1,如果有一个不为1,那么就是0;

&&是逻辑与运算,假如P为真,Q为真,那么 p && q两个都是真,就满足,用来做逻辑判断,仅仅是逻辑判断,不涉及到位操作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
joan0106
2011-09-19 · TA获得超过259个赞
知道答主
回答量:64
采纳率:0%
帮助的人:53.5万
展开全部
&是位运算符,表示按位与运算,
&&是逻辑运算符,表示逻辑与
&既是逻辑运算符,又是位运算符,当&作为逻辑运算符时属于非短路型,而&&只是短路型逻辑运算符
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hetengmuwd
2011-09-19 · TA获得超过131个赞
知道答主
回答量:49
采纳率:0%
帮助的人:46.5万
展开全部
&&表示并且,判断是一但遇到为false的就跳出不在往下执行。
&符号不同于&&的是遇到为false的会继续执行。

if(true&&false&&true){在遇到false时不会再往下执行了
}

if(true&false&true){会执行完所有的判断
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jimlaren
2011-09-19 · TA获得超过400个赞
知道小有建树答主
回答量:253
采纳率:0%
帮助的人:191万
展开全部
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式