之前书上看到这个问题,没太在意,今天在朋友公司的java基础面试题上面又一次见到,我感觉貌似是个考点,特拿出来与马友分享一二,如不完全,请补充,谢谢!首先&拥有着两层含义,在这里最好都进行解释,&可能是位运算符,也可能是逻辑运算符;而&&是逻辑运算符。
&:位运算符,按位与;
&:逻辑运算符,无论左边结果如何,右边都会参与运算;
&&:逻辑运算符,若左边结果为false,右边不参与运算,直接为false,短路与
补充一下,|与||的区别和上述相似
||:若左边为true,则右边不参与运算,直接为true,短路或。
PS:个人觉得这个考点主要还是区分两个都是逻辑运算符的情况下,使用区别。不过多年考试经验来看,多写无害。。。
|
|