资源描述:
《Java的位运算符详解整理得比较全.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java的位运算符详解实例——与(&)、非(~)、或(
2、)、异或(^)位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。 1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。publicclassdata13{publicstaticvoidmain(String[]args){inta=129;intb=128;System.out.printl
3、n("a和b与的结果是:"+(a&b));}}运行结果a和b与的结果是:128下面分析这个程序:“a”的值是129,转换成二进制就是10000001,而“b”的值是128,转换成二进制就是10000000。根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就是10000000,即128。 2.或运算符或运算符用符号“
4、”表示,其运算规律如下:两个位只要有一个为1,那么结果就是1,否则就为0,下面看一个简单的例子。publicclassdata14{publicstaticvoidmain(String[]args){inta=129;intb=128;System.o
5、ut.println("a和b或的结果是:"+(a
6、b));}}运行结果a和b或的结果是:129下面分析这个程序段:a的值是129,转换成二进制就是10000001,而b的值是128,转换成二进制就是10000000,根据或运算符的运算规律,只有两个位有一个是1,结果才是1,可以知道结果就是10000001,即129。 3.非运算符非运算符用符号“~”表示,其运算规律如下:如果位为0,结果是1,如果位为1,结果是0,下面看一个简单例子。publicclassdata15{publicstaticvoidmain(String[]args){inta=2;System.out.prin
7、tln("a非的结果是:"+(~a));}} 4.异或运算符异或运算符是用符号“^”表示的,其运算规律是:两个操作数的位中,相同则结果为0,不同则结果为1。下面看一个简单的例子。publicclassdata16{publicstaticvoidmain(String[]args){inta=15;intb=2;System.out.println("a与b异或的结果是:"+(a^b));}}运行结果a与b异或的结果是:13分析上面的程序段:a的值是15,转换成二进制为1111,而b的值是2,转换成二进制为0010,根据异或的运算规律,可以得出其结果为1101即13。Java中的运算
8、符(操作符) 程序的基本功能是处理数据,任何编程语言都有自己的运算符。因为有了运算符,程序员才写出表达式,实现各种运算操作,实现各种逻辑要求。 为实现逻辑和运算要求,编程语言设置了各种不同的运算符,且有优先级顺序,所以有的初学者使用复杂表达式的时候搞不清楚。这里详细介绍一下Java中的运算符。 Java运算符很多,下面按优先顺序列出了各种运算符。 优先级运算符分类结合顺序运算符由分隔符左结合. [] () ; ,高到低一元运算符右结合! ++ -- - ~算术运算符移位运算符左结合* / % + - <
9、< >> >>>关系运算符左结合< > <= >= instanceof(Java特有) == !=逻辑运算符左结合! &&
10、
11、 ~ &
12、 ^ 三目运算符右结合布尔表达式?表达式1:表达式2赋值运算符右结合= *= /= %= += -= <<=>>=>>>= &= *=
13、= 一、一元运算符 因操作数是一个,故称为一元运算符。运算符含义例子-改变数值的符号,取反-x(-1*x)~逐位取反,属于位运算符~x++自加1x++--自减1x--++x因为++在前,所以先加后用。x++因为++在后,所以先用后加。注意:a+++b和a+++b是不一样
14、的(因为有一个空格)。 inta=10; intb=10; intsum=a+++b; System.out.println("a="+a+",b="+b+",sum="+sum);运行结果是:a=10,b=11,sum=21 inta=10; intb=10; intsum=a+++b; System.out.println("a="+a+",b="+b+",sum="+sum);运行结果是:a=11,b=10,sum=20n=10;m=~