回 帖 发 新 帖 刷新版面

主题:[原创]SCJP考试试题解析十三


SCJP考试试题解析十三


我的QQ号:2535279 


www.javaedu.com.cn
 


 Use the operators "<<", ">>", which statements are true?
  A. 0000 0100 0000 0000 0000 0000 0000 0000<<5 gives
  1000 0000 0000 0000 0000 0000 0000 0000
  B. 0000 0100 0000 0000 0000 0000 0000 0000<<5 gives
  1111 1100 0000 0000 0000 0000 0000 0000
  C. 1100 0000 0000 0000 0000 0000 0000 0000>>5 gives
  1111 1110 0000 0000 0000 0000 0000 0000
  D. 1100 0000 0000 0000 0000 0000 0000 0000>>5 gives
  0000 0110 0000 0000 0000 0000 0000 0000
  翻译
  使用"<<"和 ">>"操作符的哪些陈述是对的。
  答案 A,C
  解析 Java的移位操作符一共有三种,分别是”>>”,”>>>”,”<<”,执行的操作分别是有符号右移,无符号右移,左移,有符号右移的意思是说移入的最高位和原最高符号位相同,无符号右移是移入位始终补零,左移时最低位始终补零,最高位被舍弃。移位操作符另一个非常值得注意的特点是其右操作数是取模运算的,意思是说对于一个int型数据而言,对它移位32位的结果是保持不变而非变成零,即:a>>32的结果是a而不是0,同理,对long型数是对右操作数取64的模,a>>64==a;还有一点需要注意的是移位操作符”>>>”只对int型和long型有效,对byte或者short的操作将导致自动类型转换,而且是带符号的。

回复列表 (共1个回复)

沙发

免费java学习资料集中营-Java,J2EE视频教程免费下载
http://javafree.uu1001.com
喜欢的朋友可以去看看

我来回复

您尚未登录,请登录后再回复。点此登录或注册