&&和 & 和 | 和|| 之间的比较

& 和 |   称之为 位运算符 

&  是 有 0 则为0 

|   是 有 1 则为1 

&& 和 || 称之为 逻辑运算符

&& 比较 

 

 

&&和||是短路运算符,&和|是非短路运算符

&&与&

区别:两者都表示“与”运算,但是&&运算符第一个表达式不成立的话,后面的表达式不运算,直接返回。而&对所有表达式都得判断。

|| 与|

区别:两者都表示“或”运算,但是||运算符第一个表达式成立的话,后面的表达式不运算,直接返回。而|对所有表达式都得判断。

 

https://www.runoob.com/note/34429

http://www.itcast.cn/news/20181126/16145354980.shtml

 

&& :逻辑与也叫 短路与,左右两边都为真则结果为真,左边结果为假,则直接中断。

&   :左右两边都为真则结果为真,左边结果为假,右边仍然判断。不会中断。 //所以面试题陷阱:

      if (1>2 & (100/0==0)){ //结果是运行时异常。Exception in thread "main" java.lang.ArithmeticException: / by zero

||    :短路或  左右两边有一边为真则结果为真。如果 左边为真,则结果直接为真。右边不判断。

|  :左右两边有一边为真则结果为真。两边都需要判断。同上面试陷阱。

 

posted @ 2021-05-08 17:34  xie风细雨  阅读(317)  评论(0)    收藏  举报