<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 1, 文章 - 0, 評論 - 0, 引用 - 0
    數據加載中……

    2014年8月31日

    java運算符1

    java位運算符包括 
    &(與)       AND 
    |(或)       OR 
    ^(異或)     XOR 
    ~(非)       NOT 

    位移運算符包括 
    >>(右移) 
    <<(左移) 
    >>>(右移,左邊空出的位以0填充) 
    顧名思義,位運算符用于位運算,那就只能對整型或者字符型進行運算。而除了~(非)是一元運算符之外其他的都為二元運算符。 

    所有位運算都會把值轉為二進制進行運算 

    &(與) 
      運算規則:0&0=0   0&1=0  1&0=0   1&1=1 
      即:兩位同時為1時,結果為1,否則為0 

      
    Java代碼  收藏代碼
    1. int a=(3&5);  
    2. System.out.println(a);  
    3. System.out.println(Integer.toBinaryString(3));   
    4. System.out.println(Integer.toBinaryString(5));   


       結果打印為 
          1 
         011 
         101 
        解析:3的二進制為011,5的二進制為101,與操作結果為001。轉為十進制是1。 


    |(或) 
          運算規則: 0|0=0   0|1=1  1|0=1   1|1=1 
         即:參加運算的兩個對象只要有一個為1,其結果就為1 

       
    Java代碼  收藏代碼
    1. int a=(3|5);  
    2. System.out.println(a);  
    3. System.out.println(Integer.toBinaryString(3));   
    4. System.out.println(Integer.toBinaryString(5));   


       結果打印為 
         7 
        011 
        101 

        解析:3的二進制位011,5的二進制位101?;虿僮鹘Y果為111。轉為10進制為7 


    ^(異或) 
        運算規則:1^0=0   0^1=1   1^0=1   1^1=0 
             即:參加運算的兩個對象,如果兩個個相應位為“異”(值不同),則該位結果為1,否則為0 

       
    Java代碼  收藏代碼
    1. int a=(3^5);  
    2. System.out.println(a);  
    3. System.out.println(Integer.toBinaryString(3));   
    4. System.out.println(Integer.toBinaryString(5));   

        
        結果打印為 
              6 
           011 
           101 

        解析:3的二進制位011,5的二進制位101?;虿僮鹘Y果為110。轉為10進制為6 


    ~(非) 
        運算規則:~1=0   ~0=1          
            即:對一個二進制數按位取反,即0變為1,1變為0 

        ~運算符的優先級比算數運算符、關系運算符、邏輯運算符和其他運算符都高 

    <<(左移) 
        將一個運算符對象的各二進制位全部左移諾干位(左邊的二進制位丟棄,右邊補0) 
         操作數每左移一位,相當于該數乘以2 
       
    Java代碼  收藏代碼
    1. int a=(3<<2);  
    2. System.out.println(a);  
    3. System.out.println(Integer.toBinaryString(3));   
    4. System.out.println(Integer.toBinaryString(12));   

        
        結果打印為 
             12 
            11 
            1100 

        解析:此運算符的意思就是把3的二進制位全部左移兩位,右邊補2個0。3的二進制位11,左移兩位后,右邊補2個0就是1100。1100轉為10進制為12。 
         說到底左移操作就相當于2的2次方×3。 每左移1位次方就增1 


    >>(右移) 
    將一個數的各二進制位全部右移諾干位,正數左補0,負數左補1,右邊丟棄。 
    操作數每右移一位,相當于該數除以2 

    Java代碼  收藏代碼
    1. int a=(9>>1);  
    2. System.out.println(a);  
    3. System.out.println(Integer.toBinaryString(9));   
    4. System.out.println(Integer.toBinaryString(4));   

        
        結果打印為 
             4 
            1001 
            100 
         
        解析:9的二進制為1001,右移1位后,左正數補0,右邊丟棄。結果為 0100。轉為10進制后為4。

    posted @ 2014-08-31 23:16 小華灬打醬油 閱讀(96) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 亚洲欧洲日产韩国在线| 亚洲熟妇av一区二区三区下载| 全亚洲最新黄色特级网站 | 产传媒61国产免费| 亚洲成av人片天堂网老年人| 免费无码午夜福利片| 亚洲国产精品自产在线播放| 乱爱性全过程免费视频| 久久亚洲中文字幕精品一区| aaa毛片免费观看| 亚洲av日韩av高潮潮喷无码| 亚洲精彩视频在线观看| 国产成人精品免费久久久久| 亚洲人成电影福利在线播放| 精品在线视频免费| 波多野结衣免费在线观看| 国产免费拔擦拔擦8x| 亚洲精品日韩专区silk| h视频在线观看免费完整版| 精品亚洲一区二区三区在线播放| 国产免费一级高清淫曰本片| 亚洲人成色7777在线观看| 一级毛片免费观看| 亚洲色大成网站WWW久久九九| 久99久精品免费视频热77| 亚洲一区二区三区精品视频| 免费观看a级毛片| 国产精品成人啪精品视频免费| 亚洲AV无码精品色午夜果冻不卡| 国产又大又粗又长免费视频| 亚洲人成欧美中文字幕| 亚洲午夜无码片在线观看影院猛| 蜜臀亚洲AV无码精品国产午夜.| 国产精品亚洲玖玖玖在线观看| 一区二区三区观看免费中文视频在线播放| 亚洲字幕在线观看| 亚洲国产成人久久综合野外| 久久精品无码专区免费东京热| 亚洲av日韩精品久久久久久a| 亚洲av色影在线| 国产无遮挡裸体免费视频|