读书人

这道java基础题谁能够指点下多谢

发布时间: 2012-06-25 18:37:39 作者: rapoo

这道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

读书人网 >J2SE开发

热点推荐