亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      考試首頁(yè) | 考試用書(shū) | 培訓(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ù)類(lèi)型(int),長(zhǎng)整型(long),短整型(short),字符型(char),和字節(jié)型(byte)等類(lèi)型。

        位運(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程序并保存為T(mén)est.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