Java中布尔类型操作符[ ` &= ` , ` |= ` , 与 ` ^= ` ]
一. 结论
今天刷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 |
二. 验证代码
public class MainMethod {
public static void main(String[] args) {
System.out.println(" ======================");
boolean flag = true;
flag &= true;
System.out.println("true\t&=\ttrue\t==>\t" + flag);
flag = true;
flag &= false;
System.out.println("true\t&=\tfalse\t==>\t" + flag);
flag = false;
flag &= true;
System.out.println("false\t&=\ttrue\t==>\t" + flag);
flag = false;
flag &= false;
System.out.println("false\t&=\tfalse\t==>\t" + flag+"\n");
System.out.println(" ======================");
flag = true;
flag |= true;
System.out.println("true\t|=\ttrue\t==>\t" + flag);
flag = true;
flag |= false;
System.out.println("true\t|=\tfalse\t==>\t" + flag);
flag = false;
flag |= true;
System.out.println("false\t|=\ttrue\t==>\t" + flag);
flag = false;
flag |= false;
System.out.println("false\t|=\tfalse\t==>\t" + flag+"\n");
System.out.println("^= 相同为假,不同为真");
flag = true;
flag ^= true;
System.out.println("true\t^=\ttrue\t==>\t" + flag);
flag = true;
flag ^= false;
System.out.println("true\t^=\tfalse\t==>\t" + flag);
flag = false;
flag ^= true;
System.out.println("false\t^=\ttrue\t==>\t" + flag);
flag = false;
flag ^= false;
System.out.println("false\t^=\tfalse\t==>\t" + flag);
}
代码输出:
======================
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
参考文档:
https://blog.csdn.net/ziwen00/article/details/40656897
还没有评论,来说两句吧...