日期:2014-05-20  浏览次数:20631 次

这道java基础题,哪位高手能够指点下,谢谢
下列表达式等价的有( )。
A. 3/2 
B. 3<2 
C. 3*4 
D. 3<<2 
E. 3*2^2 
F. 3<<<2

------解决方案--------------------
C和D
表达式的值
A int类型/运算 结果为int类型,所以表达式是1
B 表达式是boolean类型,值是false
C 表达式是int类型,值是12
D 表达式是int类型,值是12(左移运算,左移1位相当于乘2,左移2位相当于乘4,依次类推)
E 表达式是int类型,结果是先乘再异或运算=6^2=(二进制 110^010=100)=4(十进制)
F 没有带符号左移,只有带符号右移,所以F是错误表达式

------解决方案--------------------
c和d
结果都是12
d意思是左移两位,即变成3*2*2