4.逻辑运算符
&:当多个表达式进行运算的时候,只有所有的表达式计算结果都是 true 时,整体的结果才是 true ;
表达式1 | 表达式2 | 结果 |
---|---|---|
true | true | true |
true | false | false |
false | true | false |
false | false | false |
注意: 只要有一个表达式是 false,那么整体就是 false;但是有一点需要注意的是,&不管第一个表达式是不是false,所有的表达式都会全部执行。(& 两边的表达式都要参与计算)举个例来说:
class Demo1{
public static void main(String[] args){
int a = 50;
int b = 30;
System.out.println((a > 60)&(b++ > 60));
System.out.println(b); // b = 31
// 从最后输出的 b 的值为 31 可以看出,在这里每一个表达式(a > 60 和 b++ > 60)都会执行
}
}
|(或):当多个表达式进行运算的时候,只有所有的表达式计算结果都是 false 时,整体结果才是 false ;
表达式1 | 表达式2 | 结果 |
---|---|---|
true | true | true |
true | false | true |
false | true | true |
false | false | false |
注意: 只要有一个表达式是 true,那么整体就是 true;这里也同&一样,| 不管第一个表达式是不是 true,所有的表达式都会全部执行。。(| 两边的表达式也都要参与计算)
&&: && 同 & 一样,但是他们之间的区别就在于:&& 如果发现第一个表达式就是 false 时,那么就不会再进行剩余的表达式的计算了。也就是说,&& 用于连接多个表达式的判断,如果第一个表达式能决定整个表达式的结果,第二个表达式就不用计算了。
表达式1 | 表达式2 | 结果 |
---|---|---|
true | true | true |
true | false | false |
false | true | false |
false | false | false |
||: || 同 | 一样,但是他们之间的区别就在于:|| 如果发现第一个表达式就是 true 时,那么就不会再进行剩余的表达式的计算了。也就是说,|| 用于连接多个表达式的判断,如果第一个表达式能决定整个表达式的结果,第二个表达式就不用计算了。
表达式1 | 表达式2 | 结果 |
---|---|---|
true | true | true |
true | false | true |
false | true | true |
false | false | false |
^(异或):用于连接多个表达式的判断,如果两个表达式相同就是 false,不同就是 true。(两边都参与计算)
!(取反): 如果对于表达式取反,需要用括号括上。