Java中“||”与“|”的区别 5

 我来答
魔坠凡尘
2009-04-30 · TA获得超过6250个赞
知道小有建树答主
回答量:741
采纳率:100%
帮助的人:584万
展开全部
||是逻辑或
|是位或
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
南昌华信智原科技
2018-07-16 · TA获得超过519个赞
知道小有建树答主
回答量:425
采纳率:48%
帮助的人:51.8万
展开全部
||是逻辑判断,||的左右都是布尔表达式,然后进行逻辑或运算。
|是数值运算,|的左右是二进制数,然后根据,二进制数进行或运算。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魅影追寻
2018-03-13
知道答主
回答量:18
采纳率:0%
帮助的人:3.5万
引用魅影追寻的回答:
补充一下,为什么|需要两边都进行计算,单个的 | 是按位进行或运算,属于位运算符,也就是说 a | b,指的是a与b进行或运算,固然a和b都需要进行计算了,4|3的运算结果就是7。100|011=111。|| 进行的是逻辑运算,属于逻辑运算符,自然只要一个为真,另外一个就不需要计算了。同理&&与&也一样。100&011=000
展开全部
补充一下,为什么|需要两边都进行计算,单个的 | 是按位进行或运算,属于位运算符,也就是说 a | b,指的是a与b进行或运算,固然a和b都需要进行计算了,4|3的运算结果就是7。100|011=111。|| 进行的是逻辑运算,属于逻辑运算符,自然只要一个为真,另外一个就不需要计算了。同理&&与&也一样。100&011=000
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
哇皮卡皮卡呀2
2021-01-20 · 贡献了超过207个回答
知道答主
回答量:207
采纳率:0%
帮助的人:10万
展开全部
两者都是或,但是不一样。
举个例:
int i=0;
if(3>2 || (i++)>1) i=i+1;
System.out.println(i);
这段程序会打印出1,而不是打印出2。
因为在if的条件判断中,程序先判断第一个表达式3>2是否成立,结果3>2为真,那么按照逻辑来
说,无论后面一个表达式(i++)>1是否成立,整个或表达式肯定为真,因此程序就不去执行判断后面
一个表达式即(i++)>1了,所以这里i并没有自增1。然后程序执行到i=i+1,于是i变为1。最后打印
出1。
int i=0;
if(3>2 | (i++)>1) i=i+1;
System.out.println(i);
如果换做这样写,那么就是打印出2了,因为无论第一个条件3>2是否为真,程序都会去执行判断第
二个条件表达式,因此i++这个自增是会被执行的,再加上if内的i=i+1,所以最终i=2。
拓展资料:
有些人习惯把||叫做短路或,把&&叫做短路与。&&和&的区别和||与|的区别类似,对于&&来说,
如果前面的条件表达式已经为假了,整个条件表达式肯定为假,就不会去执行判断后面的条件表达
式。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fmibily
2020-05-27
知道答主
回答量:5
采纳率:0%
帮助的人:2900
展开全部
复制知道口令可打开页面$zmMfe7NY$
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式