华南俳烁实业有限公司

考試首頁(yè) | 考試用書 | 培訓(xùn)課程 | 模擬考場(chǎng) | 考試論壇  
全國(guó)  |             |          |          |          |          |         
  當(dāng)前位置:計(jì)算機(jī)等級(jí) > 二級(jí)考試 > Java語(yǔ)言程序設(shè)計(jì) > 考試輔導(dǎo) > 文章內(nèi)容
  

全國(guó)計(jì)算機(jī)等級(jí)考試Java語(yǔ)言程序設(shè)計(jì)輔導(dǎo)(13)

中華IT學(xué)院   【 】  [ 2016年1月31日 ]

  位運(yùn)算符

  Java定義了位運(yùn)算符,應(yīng)用于整數(shù)類型(int),長(zhǎng)整型(long),短整型(short),字符型(char),和字節(jié)型(byte)等類型。

  位運(yùn)算符作用在所有的位上,并且按位運(yùn)算。假設(shè)a = 60,和b = 13;它們的二進(jìn)制格式表示將如下:

  A = 0011 1100

  B = 0000 1101

  -----------------

  A&b = 0000 1100

  A | B = 0011 1101

  ^ B = 0011 0001

  ~A= 1100 0011

  下表列出了位運(yùn)算符的基本運(yùn)算,假設(shè)整數(shù)變量A的值為60和變量B的值為13:

  操作符描述例子

  &按位與操作符,當(dāng)且僅當(dāng)兩個(gè)操作數(shù)的某一位都非0時(shí)候結(jié)果的該位才為1。(A&B),得到12,即0000 1100

  |按位或操作符,只要兩個(gè)操作數(shù)的某一位有一個(gè)非0時(shí)候結(jié)果的該位就為1。(A | B)得到61,即 0011 1101

  ^按位異或操作符,兩個(gè)操作數(shù)的某一位不相同時(shí)候結(jié)果的該位就為1。(A ^ B)得到49,即 0011 0001

  〜按位補(bǔ)運(yùn)算符翻轉(zhuǎn)操作數(shù)的每一位。(〜A)得到-60,即1100 0011

  << 按位左移運(yùn)算符。左操作數(shù)按位左移右操作數(shù)指定的位數(shù)。A << 2得到240,即 1111 0000

  >> 按位右移運(yùn)算符。左操作數(shù)按位右移右操作數(shù)指定的位數(shù)。A >> 2得到15即 1111

  >>> 按位右移補(bǔ)零操作符。左操作數(shù)的值按右操作數(shù)指定的位數(shù)右移,移動(dòng)得到的空位以零填充。A>>>2得到15即0000 1111

  實(shí)例

  下面的簡(jiǎn)單示例程序演示了位運(yùn)算符。復(fù)制并粘貼下面的Java程序并保存為Test.java文件,然后編譯并運(yùn)行這個(gè)程序:

  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; /* 15 = 1111 */

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

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

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

  }

  }

  以上實(shí)例編譯運(yùn)行結(jié)果如下:

  a & b = 12

  a | b = 61

  a ^ b = 49

  ~a = -61

  a << 2 = 240

  a >> 15

  a >>> 15

分享到:
本文糾錯(cuò)】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動(dòng)訪問(wèn)考試網(wǎng) | 復(fù)制本頁(yè)地址,傳給QQ/MSN上的好友 | 申請(qǐng)鏈接 | 意見(jiàn)留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved
平顶山市| 藁城市| 新平| 象州县| 屏东县| 准格尔旗| 苍溪县| 兴海县| 忻城县| 应城市| 海安县| 高平市| 图木舒克市| 吴江市| 弥勒县| 阳原县| 江门市| 永嘉县| 宾川县| 定远县| 洱源县| 苏州市| 左权县| 庆安县| 浦东新区| 高密市| 宝清县| 长春市| 彭州市| 泾川县| 合水县| 安仁县| 绩溪县| 慈溪市| 西吉县| 昭通市| 麦盖提县| 松溪县| 贵阳市| 冀州市| 北票市|