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

操作符 描述 例子
&& 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 (A && B)为假。
| | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 (A | | B)为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 !(A && B)为真。
  1. public class Test {
  2. public static void main(String[] args) {
  3. boolean a = true;
  4. boolean b = false;
  5. System.out.println("a && b = " + (a&&b));
  6. System.out.println("a || b = " + (a||b) );
  7. System.out.println("!(a && b) = " + !(a && b));
  8. }
  9. }
  10. 输出结果:
  11. a && b = false
  12. a || b = true
  13. !(a && b) = true

短路逻辑运算符 双与 双或 && || 作用是可以提高性能

即执行完前面的就已经知道结果了,所以后面不用执行。
当使用与逻辑运算符时,在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了。

  1. public class OperatorDemo3 {
  2. public static void main(String[] args) {
  3. //逻辑运算符 与 或 非 $ | !
  4. int a = 50;
  5. int b = 5;
  6. //与 and 多个条件是并列关系
  7. //或 or 多个条件满足一个即可
  8. //非 !取返
  9. //与 遇false则false
  10. System.out.println(a > b & a > b); // true & true
  11. //或 遇true则true
  12. System.out.println(a > b | a > b); // true & true
  13. //非 非真即假
  14. System.out.println(!false);
  15. System.out.println(!true);
  16. //双与 双或 && || 作用是可以提高性能
  17. System.out.println(a < b && a < b); // 执行完前面的就已经知道结果了,所以后面不用执行
  18. }
  19. }