&&和 & 和 | 和|| 之间的比较
& 和 | 称之为 位运算符
& 是 有 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
|| :短路或 左右两边有一边为真则结果为真。如果 左边为真,则结果直接为真。右边不判断。
| :左右两边有一边为真则结果为真。两边都需要判断。同上面试陷阱。

浙公网安备 33010602011771号