广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州Java运算符之位运算符_北大青鸟IT软件学校

作者:邓华发布时间:2021-01-08分类:Java技术浏览:915


导读:Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。那么,下面惠州北大青鸟老师给大家分享Java运算符的位运算符。

Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。那么,下面惠州北大青鸟老师给大家分享Java运算符的位运算符。

Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。

位运算符作用在所有的位上,并且按位运算。假设a = 60,和b = 13;它们的二进制格式表示将如下:

A = 0011 1100 B = 0000 1101 ----------------- A&B = 0000 1100 A | B = 0011 1101 A ^ B = 0011 0001 ~A= 1100 0011

下表列出了位运算符的基本运算,假设整数变量A的值为60和变量B的值为13:

操作符      描述                                                                                                                                 例子


&            按位与操作符,当且仅当两个操作数的某一位都非0时候结果的该位才为1。                        (A&B),得到12,即0000 1100    

|              按位或操作符,只要两个操作数的某一位有一个非0时候结果的该位就为1。                        (A | B)得到61,即 0011 1101    

^             按位异或操作符,两个操作数的某一位不相同时候结果的该位就为1。                                 (A ^ B)得到49,即 0011 0001    

〜            按位补运算符翻转操作数的每一位。                                                                                   (〜A)得到-61,即1100 0011    

<<          按位左移运算符。左操作数按位左移右操作数指定的位数。                                                   A << 2得到240,即 1111 0000    

>>          按位右移运算符。左操作数按位右移右操作数指定的位数。                                                   A >> 2得到15即 1111    

>>>       按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 A>>>2得到15即0000 1111    

实例

下面的简单示例程序演示了位运算符。复制并粘贴下面的Java程序并保存为Test.java文件,然后编译并运行这个程序:

public class Test {

   public static void main(String args[]) {

      int a = 60; /* 60 = 0011 1100 */

       int b = 13; /* 13 = 0000 1101 */

      int c = 0;

      c = a & b;       /* 12 = 0000 1100 */

      System.out.println("a & b = " + c );

      c = a | b;       /* 61 = 0011 1101 */

      System.out.println("a | b = " + c );

      c = a ^ b;       /* 49 = 0011 0001 */

      System.out.println("a ^ b = " + c );

      c = ~a;          /*-61 = 1100 0011 */

      System.out.println("~a = " + c );


      c = a << 2;     /* 240 = 1111 0000 */      System.out.println("a << 2 = " + c );

      c = a >> 2;     /* 215 = 1111 */

      System.out.println("a >> 2  = " + c );


      c = a >>> 2;     /* 215 = 0000 1111 */

      System.out.println("a >>> 2 = " + c );

   }

 }  

以上实例编译运行结果如下:

a & b = 12

 a | b = 61

 a ^ b = 49

 ~a = -61

 a << 2 = 240

  a >> 2 = 15

 a >>> 2 = 15

想了解更多关于Java的知识吗?可以来惠州北大青鸟新方舟校区了解一下。


java3.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发


Java技术排行
标签列表
网站分类
文章归档
最近发表