Java中“||”与“|”的区别
3个回答
展开全部
区别一:
定义不同:
||和|都是表示“或”,区别是||只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断。
区别二:
与操作和或操作的区别
(1)在Java程序中,使用与操作,要求所有表达式的判断结果都是TRUE,才为真,若有一个为FALSE,那么最终判断结果则为FALSE
(2)使用或操作,只要其中有一个表达式为TRUE,那么最终的结果就为TRUE,只有当所有的表达式为FALSE时最终结果才为FALSE
区别三:
实际含义不同:
“||”: 如果左边计算后的操作数为true,右边则不再执行,返回true;
“|”:前后两个操作数都会进行计算。也就是说:“|”不存在短路。
区别四:
举例说明
1、当使用|时,若前面的表达式为真时,程序会继续执行后面的表达式,然后在得出TRUE的结果,代码如下:
结果如下:结果为真
1
2、当使用||(短路或)时,若前面的表达式结果为真,则程序不会再执行后面的表达式,直接得出TRUE的结果,代码如下:
结果如下:结果为假
0
定义不同:
||和|都是表示“或”,区别是||只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断。
区别二:
与操作和或操作的区别
(1)在Java程序中,使用与操作,要求所有表达式的判断结果都是TRUE,才为真,若有一个为FALSE,那么最终判断结果则为FALSE
(2)使用或操作,只要其中有一个表达式为TRUE,那么最终的结果就为TRUE,只有当所有的表达式为FALSE时最终结果才为FALSE
区别三:
实际含义不同:
“||”: 如果左边计算后的操作数为true,右边则不再执行,返回true;
“|”:前后两个操作数都会进行计算。也就是说:“|”不存在短路。
区别四:
举例说明
1、当使用|时,若前面的表达式为真时,程序会继续执行后面的表达式,然后在得出TRUE的结果,代码如下:
结果如下:结果为真
1
2、当使用||(短路或)时,若前面的表达式结果为真,则程序不会再执行后面的表达式,直接得出TRUE的结果,代码如下:
结果如下:结果为假
0
展开全部
、&和&&的区别。
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str
!=
null
&&
!str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现nullpointerexception如果将&&改为&,则会抛出nullpointerexception异常。if(x==33
&
++y>0)
y会增长,if(x==33
&&
++y>0)不会增长
介于上面情况,如果你的right为空,&后继续判断会出异常。
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str
!=
null
&&
!str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现nullpointerexception如果将&&改为&,则会抛出nullpointerexception异常。if(x==33
&
++y>0)
y会增长,if(x==33
&&
++y>0)不会增长
介于上面情况,如果你的right为空,&后继续判断会出异常。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
||和|都是表示“或”,区别是||只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件进行判断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询