1、Java中的位运算符(操作符)

位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。

1.1 .与运算符

与运算符用符号“&”表示,其使用规律如下:

只有对应的两个二进制位均为1时,结果才为1。例如,9&5,即00001001&00000101=00000001

public class Demo1{public static void main(String[] args){int one=131;int two=128;System.out.println("one和two与的结果是:"+(one&two));}}
  • 运行结果:
  • a 和b 与的结果是:128
  • 下面分析这个程序:
  • “a”的值是131,转换成二进制就是10000011,而“b”的值是128,转换成二进制就是10000000。根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就是10000000,即2的7次方,为128。

1.2.或运算符

或运算符用符号“|”表示,其运算规律如下:

只要对应的两个二进制位有一个为1,结果就为1,否则就为0,例如9|5,即00001001|00000101=00001101。

public class Demo2{public static void main(String[] args){int one=129;int two=128;System.out.println("one 和two 或的结果是:"+(one|two));}}
  • 运行结果:
  • a 和b 或的结果是:129
  • 下面分析这个程序段:
  • a 的值是129,转换成二进制就是10000001,而b 的值是128,转换成二进制就是10000000,根据或运算符的运算规律,只有两个位有一个是1,结果才是1,可以知道结果就是10000001,即129。

1.3.非运算符

非运算符用符号“~”表示,其运算规律如下:

如果位为0,结果是1,如果位为1,结果是0。

public class Demo3{public static void main(String[] args){int a=2;System.out.println("a 非的结果是:"+(~a));}}
  • 运行结果:
  • ~a 结果是:1
  • 下面分析这个程序段:
  • a 的值是2,转换成二进制就是10,非运算符的运算规律,如果位为0,结果是1,如果位为1,结果是0,可以知道结果就是01,即1。

1.4.异或运算符

异或运算符是用符号“^”表示的,其运算规律是:

两个操作数的位中,位相同则结果为0,不同则结果为1。

public class Demo4{public static void main(String[] args){int a=15;int b=2;System.out.println("a 与 b 异或的结果是:"+(a^b));}}
  • 运行结果: a 与 b 异或的结果是:13 分析上面的程序段:a 的值是15,转换成二进制为1111,而b 的值是2,转换成二进制为0010,根据异或的运算规律,可以得出其结果为1101 即13。

2.Java中的运算符(操作符)

程序的基本功能是处理数据,任何编程语言都有自己的运算符。因为有了运算符,程序员才写出表达式,实现各种运算操作,实现各种逻辑要求。

为实现逻辑和运算要求,编程语言设置了各种不同的运算符,且有优先级顺序,所以有的初学者使用复杂表达式的时候搞不清楚。这里详细介绍一下Java中的运算符。

Java运算符很多,下面按优先顺序列出了各种运算符。




Android 位运算好处 位运算符java_Android 位运算好处


2.1 . 一元运算符

因操作数是一个,故称为一元运算符。


Android 位运算好处 位运算符java_java 位运算_02


++x 因为++在前,所以x的值先加1后用。

x++ 因为++在后,所以x的值先用后加1。

注意:a+ ++b和a+++b是不一样的(因为有一个空格)。

int a=10; int b=10; int sum=a+ ++b; System.out.println("a="+a+