Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是&;=运算符Java中的短路运算符?_Java_Boolean_Operators - Fatal编程技术网

是&;=运算符Java中的短路运算符?

是&;=运算符Java中的短路运算符?,java,boolean,operators,Java,Boolean,Operators,在Java中,&&和|短路。因此,如果没有必要(例如,false&&a,true | b),它们不会计算第二个操作数 那么&=操作符呢?它也短路了吗?不,不是 前一段时间有一个关于为什么不存在&&=操作符的线程。如果有意义的话,那可能是一个短路运算符。不,&=不是布尔运算符,因此它不会短路任何东西,它是一个按位赋值运算符 它本质上意味着为第一个操作数和第二个操作数按位分配& 快速演示 int i = 01; int ii = 10; System.out.println(i &= ii)

在Java中,
&&
|
短路。因此,如果没有必要(例如,
false&&a
true | b
),它们不会计算第二个操作数

那么
&=
操作符呢?它也短路了吗?

不,不是


前一段时间有一个关于为什么不存在
&&=
操作符的线程。如果有意义的话,那可能是一个短路运算符。

不,
&=
不是布尔运算符,因此它不会短路任何东西,它是一个按位赋值运算符

它本质上意味着为第一个操作数和第二个操作数按位分配
&

快速演示

int i = 01;
int ii = 10;
System.out.println(i &= ii); // assigns i with i & ii and sends i to print stream
i = 01;
ii = 11;
System.out.println(i &= ii);
输出

0
1

&
不是短路操作员,因此
a=a&b
不会短路,也不会短路
a&=b