【发布时间】:2017-02-06 12:30:11
【问题描述】:
我读到b1 |= b2 是等同于b1 = b1 | b2 的快捷方式。我的问题实际上是双重的:
“=”不是赋值运算符而不是比较运算符吗?如果是这样,它在这种情况下会做什么?
或者,这里是比较运算符吗?在什么情况下需要将变量与自身进行比较(即b1 = b1)?
(我意识到这可能是要问的新手问题,但我只有编写 bash 脚本的非正式经验,没有编程方面的教育背景。善良。;)
【问题讨论】:
-
|=不是复合比较运算符。 -
没有复合比较运算符,只有复合赋值运算符。
-
这是一个布尔值,如果 b1 或 b2 为真,则 b1 为真?
-
@BackSlash 您认为如何使用
|=的短路形式?我的意思是,假设||=确实存在,您将如何以有意义的方式使用它? -
@BackSlash 错误。管道运算符
|用于按位和逻辑或。双管道运算符只用于逻辑,a | b和a || b在布尔运算符的区别是第一个不是短路,第二个是。
标签: java comparison operators shortcut