Java基础 “逻辑运算符 & | ^ !”
&: 与 有false则false
| : 或 有true则true
^: 异或 相同为false ,不同为true
! :非 取反
&&和与& 的区别(同或||和或| 的区别):
1、结果一样
2、&&具有短路的效果,如果左边是false,右边就不执行了
public class test3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int x = 4;
int y = 3;
System.out.println((++x == 4) & (++y == 3));
System.out.println(x);
System.out.println(y);
}
}
结果
false
5
4
public class test3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int x = 4;
int y = 3;
System.out.println((++x == 4) && (++y == 3));
System.out.println(x);
System.out.println(y);
}
}
结果
false
5
3
这两种结果可以很好地解释说明
&,&& (|,||)运行的结果是一样的,但是,不同于&&(||)有短路效果,如果判断左边已经是false右边就不会执行。