友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

Java编程思想第4版[中文版](PDF格式)-第48章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



  

i = 85  

j = 4  

i 》 j is true  

i 《 j is false  

i 》= j is true  

i 》》),它使用了“零扩展”:无论正负,都在高位插入0。这一运算符是C 或C++没有的。  

若对 char,byte 或者 short 进行移位处理,那么在移位进行之前,它们会自动转换成一个 int。只有右侧的 

5 个低位才会用到。这样可防止我们在一个 int数里移动不切实际的位数。若对一个 long 值进行处理,最后 

得到的结果也是 long。此时只会用到右侧的 6 个低位,防止移动超过 long 值里现成的位数。但在进行“无 

符号”右移位时,也可能遇到一个问题。若对 byte 或 short 值进行右移位运算,得到的可能不是正确的结果 

 (Java 1。0 和Java 1。1 特别突出)。它们会自动转换成 int 类型,并进行右移位。但“零扩展”不会发 

生,所以在那些情况下会得到…1 的结果。可用下面这个例子检测自己的实现方案:  

  

//: URShift。java  

// Test of unsigned right shift  

  

public class URShift {  



                                                                        68 


…………………………………………………………Page 70……………………………………………………………

  public static void main(String'' args) {  

    int i = …1;  

    i 》》》= 10;  

    System。out。println(i);  

    long l = …1;  

    l 》》》= 10;  

    System。out。println(l);  

    short s = …1;  

    s 》》》= 10;  

    System。out。println(s);  

    byte b = …1;  

    b 》》》= 10;  

    System。out。println(b);  

  }  

} ///:~  

  

移位可与等号(=或》》》=)组合使用。此时,运算符左边的值会移动由右边的值指定的位数,再将得 

到的结果赋回左边的值。  

下面这个例子向大家阐示了如何应用涉及“按位”操作的所有运算符,以及它们的效果:  

  

//: BitManipulation。java  

// Using the bitwise operators  

import java。util。*;  

  

public class BitManipulation {  

  public stat
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!