逻辑运算符-真值表
逻辑运算的结果是布尔型 boolean 与或非
- 短路运算符
&& 短路运算符 如果短路运算的结果是false, 那么结果直接就是false,不会继续运算后边的逻辑
|| 短路运算符 如果短路运算的结果是true, 那么结果直接就是true,不会继续运算后边的逻辑
print(2 and 3) # 第一个为True , 则会进行第二个判断, 第二个为true 则结果为true 返回值为3
print(0 and 2) # 第一个为False, 则会短路,不会对第二个进行判断, 则结果为False 返回值为0
print(0 and 0) # 第一个为False, 则会短路,不会对第二个进行判断, 则结果为False 返回值为0
print(2 and 0) # 第一个为True , 则会进行第二个判断, 第二个为False 则结果为False 返回值为0
and == && #如果第一个是True, 则返回的总是后面的 ,如果第一个是False, 则返回的总是前面的
print(2 & 3) # 第一个为2 010 第二个为3 011 则返回2 010 #都是1 则1, 否则为0
print(0 & 2) # 第一个为0 000 第二个为2 010 则返回0 000
print(2 & 0) # 第一个为2 010 第二个为0 000 则返回0 000
print(0 & 0) # 第一个为0 000 第二个为0 000 则返回0 000
print(2 or 3) # 第一个为True, 则会短路,不会对第二个进行判断, 则结果为True 返回值为2
print(0 or 1) # 第一个为False , 则会进行第二个判断, 第二个为true 则结果为true 返回值为1
print(0 or 0) # 第一个为False , 则会进行第二个判断, 第二个为False 则结果为False 返回值为0
print(2 or 0) # 第一个为True, 则会短路,不会对第二个进行判断, 则结果为True 返回值为2
# or == || #如果第一个是True, 则返回的总是前面的 ,如果第一个是False, 则返回的总是后面的
print(2 | 3) # 第一个为2 010 第二个为3 011 则返回3 011 #都是0 则0, 否则为1
print(0 | 1) # 第一个为0 000 第二个为1 001 则返回1 001
print(0 | 0) # 第一个为0 000 第二个为0 000 则返回0 000
print(2 | 0) # 第一个为2 010 第二个为0 000 则返回2 010
print(not 1) # 返回True
print(not 0) # 返回False
not == ~
异或 ^
int i = 10;
int j = 14;
int k = i ^ j;
System.out.println(k);