抑或运算符&(位运算和逻辑运算符详解)----Java

238 阅读1分钟

首先,Java中 &,|,^,&&,||都有俩个身份,那就是逻辑运算符和位运算符

现在我们来了解一下他们的特性

1,逻辑运算符(boolean类型):

①& :同为true则为true,其他情况都为false

②|  :有一个(>=1)为true,结果则为true,同为false结果才为false。

③^  :  相同则为false(无论同true或者false),不同为true

④短路&&和短路||和&,|结果是一样的,但是&&和||效率更高

eg1:&&:左边的数若为false,则右边不再运行

eg2: ||:若左边的数为true,则右边不再运行。

2、位运算符(以^为例)

        ①a,b两个数进行异或运算时,编译器会将这两个数转化为二进制(一共八位,位数不够则用0补上)的数,

        ②再进行位运算,若对应位数相同,则该位为0;不同则为1,此时会得到一个新的数

        ③重复运算两次,则会交换a,b俩个数。

如图所示: