->private final boolean mIsExcute;
默认值是false
//TODO
->data = mIsExcute ? 0 : 1;
先判断mIsExcute,若mIsExcute为true,则data=0, 为false,data = 1。
总结:
A ? B:C ,意思就是如果A为真执行B,否则执行C
-------------------------------------------------------------------------------------------------------------------------------------------------------
a |= b -> a = a | b
把a和b按位或然后赋值给a ,按位或的意思就是先把a和b都换成2进制,然后用或操作
-->java运算符 与(&)、非(~)、或(|)、异或(^)
-->异或(^):运算规则是:两个数转为二进制,然后从高位开始比较,如果相同则为0,不相同则为1
比如:10^21
转化为二进制:10 = 0000 1010 21 = 0001 0101
按位异或 10^21 = 0001 1111
-->与(&)
运算规则:两个数都转为二进制,然后从高位开始比较,如果两个数都为1则为1,否则为0。
比如:10&21
转化为二进制:10 = 0000 1010 21 = 0001 0101
按位与:10&21 = 0000 0000
-->或(|)
运算规则:两个数都转为二进制,然后从高位开始比较,两个数只要有一个为1则为1,否则就为0。
-->非(~)
运算规则:如果位为0,结果是1,如果位为1,结果是0