复合比较运算符有什么意义?
What's the point of the compound comparison operators?
我读到 b1 |= b2
是等同于 b1 = b1 | b2
的快捷方式。我的问题实际上有两个方面:
“=”不是赋值运算符而不是比较运算符吗?如果是这样,它在这种情况下有什么作用?
或者,这里是比较运算符吗?在什么情况下您需要将变量与自身进行比较(即 b1 = b1
)?
(我意识到这可能是最新手要问的问题,但我只有编写 bash 脚本的非正式经验,没有编程方面的教育背景。请客气。;)
注意:这是参考这里的问题:Shortcut "or-assignment" (|=) operator in Java
Java中有很多运算符。但是 'Compound comparison operator' 不是其中之一。您应该从 'Head first Java'.
这样的好书中阅读 Java 基础知识
要回答这个特定问题,b1 |= b2
是复合赋值。
=
将 b1|b2
的结果分配给 LHS 操作数,即 b1
.
- 由于现在很清楚它是一个
assignment
运算符而不是比较,所以 b1 |= b1
的结果将与 b1 = b1|b1
相同。
(注意这里的|
是两个数字之间的逻辑OR
不是||
是条件运算符。|
和||
有不同的含义)
HTH.
我读到 b1 |= b2
是等同于 b1 = b1 | b2
的快捷方式。我的问题实际上有两个方面:
“=”不是赋值运算符而不是比较运算符吗?如果是这样,它在这种情况下有什么作用?
或者,这里是比较运算符吗?在什么情况下您需要将变量与自身进行比较(即 b1 = b1
)?
(我意识到这可能是最新手要问的问题,但我只有编写 bash 脚本的非正式经验,没有编程方面的教育背景。请客气。;)
注意:这是参考这里的问题:Shortcut "or-assignment" (|=) operator in Java
Java中有很多运算符。但是 'Compound comparison operator' 不是其中之一。您应该从 'Head first Java'.
这样的好书中阅读 Java 基础知识要回答这个特定问题,b1 |= b2
是复合赋值。
=
将b1|b2
的结果分配给 LHS 操作数,即b1
.- 由于现在很清楚它是一个
assignment
运算符而不是比较,所以b1 |= b1
的结果将与b1 = b1|b1
相同。
(注意这里的|
是两个数字之间的逻辑OR
不是||
是条件运算符。|
和||
有不同的含义)
HTH.