【J2SE】java中的位运算符

Java 发表评论

Java的运算符,分为四类:

算数运算符、关系运算符、逻辑运算符、位运算符。

算数运算符:+   –   *   /   %  ++  —

关系运算符:==   !=  >   >=   <  <=

逻辑运算符:&&  ||  !  ^  &  |

位运算符:&  |  ~  ^  <<  >>  <<<

主要讨论一下位运算符

       位运算符是以二进制为单位进行的运算,其操作数和运算结果都是整型值。

       位运算符的位与’&’, 位或’|’, 位非’~’ ,位异或‘^’ , 右移’>>’,左移'<<‘,0填充的右移’>>>’ 与逻辑运算符运算的相应操作的真值表完全相同,其差别知识    为运算符操作的操作数和运算结果都是  二进制整数,而逻辑运算相应操作的操作数和运算结果都是boolean型。

        


1、与运算符 &

         规律如下:两个操作数中位都为1,结果才为1.否则结果为0。

         int   x  = 15;   //x等于二进制数的 0000 1111

         int   y  =  6;    //y等于二进制数的 0000 0110  

         int   z  = x&y; //z等于二进制的  0000 0110也就是十进制的6

2、或运算符 |

         规律如下:两个操作数中只要有一个位为1,结果就为1。否则就为0。

         int  x  =  15; //x等于二进制数的0000 1111

         int  y  =   6;  //y等于二进制数的0000 0110

         int  z  = x|y; //z等于二进制数的 0000 1111

3、非运算符~

         规律如下:如果位为0,结果是1,如果位为1,结果是0。

         int  x =  15;//x等于二进制数的 0000 1111

         int  y =  ~15;//y等于二进制数的1111 0000

4、异或运算符^

         规律如下:两个操作数的位中,相同则结果为0,不同则结果为1.

         int   x  =15;//x等于二进制数的0000 1111

         int   y  = 6; //y等于二进制数的0000 0110

         int   z=x^y;   //z等于二进制数的 1111 0110

5、>>右移


      






发表评论

邮箱地址不会被公开。 必填项已用*标注

昵称 *