栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Wtat的意思是“ ^ =”吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Wtat的意思是“ ^ =”吗?

|=
是这样的化合物赋值运算符(JLS
15.26.2
为布尔逻辑运算符)
|
(JLS
15.22.2
);
不要与条件或混淆
||
(JLS
15.24)。也有
&=
^=
对应于所述化合物分配版本布尔逻辑
&
^
分别。

换句话说,对于

boolean b1, b2
,这两个是等效的:

 b1 |= b2; b1 = b1 | b2;

(逻辑运算符之间的差异

&
|
)相比,他们的条件同行(
&&
||
)之处在于前者不“短路”; 后者可以。那是:

  • &
    |
    始终 评估两个操作数
  • &&
    有条件地
    ||
    评估正确的操作数; 仅当右操作数的值可能影响二进制运算的结果时,才对右操作数进行求值。这意味着在以下情况下不会评估正确的操作数: __
    • 的左操作数
      &&
      计算为
      false
    • (因为无论正确的操作数求值是什么,整个表达式都是
      false
    • 的左操作数
      ||
      计算为
      true
    • (因为无论正确的操作数求值是什么,整个表达式都是
      true

所以回到你原来的问题,是的,结构是有效的,虽然

|=
是不完全的等价快捷
=
||
,这你想要做什么的计算。由于
|=
您使用的运算符的右侧是一个简单的整数比较运算,因此
|
不会短路的事实微不足道。

在某些情况下,需要短路甚至是短路时,但您的情况并非其中之一。

不幸的是,与某些其他语言不同,Java没有

&&=
and
||=
。问题 Java为什么不为条件和和条件或运算符提供复合赋值版本? (&& =,||
=)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/418581.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号