Java SE笔记: 逻辑运算符

逻辑运算符

逻辑运算符的作用是用于连接布尔表达式的。

运算符 名称 描述
& 与,并且 只有左右变量同时 为true,那么结果才是true,否则就为false
| 或,或者 只要两边的布尔表达式有一边为true,那么结果就为true,只有两边同时为false 的时候,结果才是false.
^ 异或 只要两边的布尔表达式 结果不一致,那么结果就为true,如果左右两边 的布尔表达式一致,那么就为false.
取反
&& 短路与、双与 与&相似,见下
|| 短路或、双或 与&#124相似,见下

下表列出了逻辑运算符的基本运算,假设布尔变量A为真,变量B为假

运算符 描述 例子
&& 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 (A && B)为假。
|| 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 (A || B)为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到 false。 !(A && B)为真。

实例 下面的简单示例程序演示了逻辑运算符。复制并粘贴下面的Java程序并保存为Test.java文件,然后编译并运行这个程序:

1
2
3
4
5
6
7
8
9
public class Test {
public static void main(String args[]) {
boolean a = true;
boolean b = false;
System.out.println("a && b = " + (a&&b));
System.out.println("a || b = " + (a||b) );
System.out.println("!(a && b) = " + !(a && b));
}
}

以上实例编译运行结果如下:
1
2
3
a && b = false
a || b = true
!(a && b) = true

  • 短路与和单与符号的相同与不同点:
    • 相同点: 短路与和单与运算的结果是一样的。
    • 不同点: 使用短路与的时候,如果左边的布尔表达式为false,则不会在运算右边的布尔表达式,从而提高了效率。使用单与的时候,即使发现左边的布尔表达式为false,还是会运算右边的布尔表达式的。
  • 短路或与单或的相同点与不同点:
    • 相同点:运算的结果是一致 的。
    • 不同点:使用短路或的时候,当发现左边的布尔表达式为true时,则不会运算右边的布尔表达式。 使用单或的时候 发现左边的布尔表达式为true,还是会运算右边布尔表达式。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
class Demo
{
public static void main(String[] args)
{
int workAge = 2;
int age = 24;
System.out.println(workAge>=2|age++>18);
System.out.println("age:"+ age);

System.out.println(true&true); //true
System.out.println(true&false); // false
System.out.println(false&true); // false
System.out.println(false&false); // false

System.out.println(true|true); // true
System.out.println(true|false); // true
System.out.println(false|true); // true
System.out.println(false|false); // false

System.out.println(true^true); // false
System.out.println(true^false); // true
System.out.println(false^true); // true
System.out.println(false^false); // false

System.out.println(!true); //

System.out.println(true&&true); //true
System.out.println(true&&false); // false
System.out.println(false&&true); // false
System.out.println(false&&false); // false

System.out.println(true||true); // true
System.out.println(true||false); // true
System.out.println(false||true); // true
System.out.println(false||false); // false
}
}
文章目录
  1. 1. 逻辑运算符