Java中布尔类型操作符[ ` &= ` , ` |= ` , 与 ` ^= ` ]

桃扇骨 2022-10-20 12:17 264阅读 0赞

一. 结论

今天刷Flink代码的时候, 发现操作符 |= , 这个是什么鬼, 做了这么多年Java瞬间觉得好丢人…

总结:
跟正常的 && , || 操作差不多,输出的结果都是boolean类型.
































































































a值 操作符 b值 结果
true &= true true
true &= false false
false &= true false
false &= false false
true |= true true
true |= false true
false |= true true
false |= false false
true ^= true false
true ^= false true
false ^= true true
false ^= false false

在这里插入图片描述

二. 验证代码

  1. public class MainMethod {
  2. public static void main(String[] args) {
  3. System.out.println(" ======================");
  4. boolean flag = true;
  5. flag &= true;
  6. System.out.println("true\t&=\ttrue\t==>\t" + flag);
  7. flag = true;
  8. flag &= false;
  9. System.out.println("true\t&=\tfalse\t==>\t" + flag);
  10. flag = false;
  11. flag &= true;
  12. System.out.println("false\t&=\ttrue\t==>\t" + flag);
  13. flag = false;
  14. flag &= false;
  15. System.out.println("false\t&=\tfalse\t==>\t" + flag+"\n");
  16. System.out.println(" ======================");
  17. flag = true;
  18. flag |= true;
  19. System.out.println("true\t|=\ttrue\t==>\t" + flag);
  20. flag = true;
  21. flag |= false;
  22. System.out.println("true\t|=\tfalse\t==>\t" + flag);
  23. flag = false;
  24. flag |= true;
  25. System.out.println("false\t|=\ttrue\t==>\t" + flag);
  26. flag = false;
  27. flag |= false;
  28. System.out.println("false\t|=\tfalse\t==>\t" + flag+"\n");
  29. System.out.println("^= 相同为假,不同为真");
  30. flag = true;
  31. flag ^= true;
  32. System.out.println("true\t^=\ttrue\t==>\t" + flag);
  33. flag = true;
  34. flag ^= false;
  35. System.out.println("true\t^=\tfalse\t==>\t" + flag);
  36. flag = false;
  37. flag ^= true;
  38. System.out.println("false\t^=\ttrue\t==>\t" + flag);
  39. flag = false;
  40. flag ^= false;
  41. System.out.println("false\t^=\tfalse\t==>\t" + flag);
  42. }

代码输出:

  1. ======================
  2. true &= true ==> true
  3. true &= false ==> false
  4. false &= true ==> false
  5. false &= false ==> false
  6. ======================
  7. true |= true ==> true
  8. true |= false ==> true
  9. false |= true ==> true
  10. false |= false ==> false
  11. ^= 相同为假,不同为真
  12. true ^= true ==> false
  13. true ^= false ==> true
  14. false ^= true ==> true
  15. false ^= false ==> false

参考文档:
https://blog.csdn.net/ziwen00/article/details/40656897

发表评论

表情:
评论列表 (有 0 条评论,264人围观)

还没有评论,来说两句吧...

相关阅读

    相关 POJO类布尔类型

    阿里巴巴开发手册中: `“POJO类中布尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误。反例:定义为基本数据类型boolean isSuccess 的属性,它的