1-1-4-34 菜鸟问题
发信人: aliaz (alias), 信区: Java标题: Re: 菜鸟问题
发信站: BBS 水木清华站 (Thu Aug8 21:29:54 2002)
【 在 zerglingrun (狗狗快跑) 的大作中提到: 】
: 因为byte为8 bits,short为16 bits,int为32 bits,byte之间互相运算可能会超出其最大值
: ,如果你用byte bb = b*b;编译都不会通过!至于为什么不是short而是int,这我也搞不懂
: 的说,你可以发信质问sun的人,呵呵 ~~~~~~~~~~~~~~~~~~~~
: ch1+ch2同理可证。
因为在java中char,short,byte属于同一级别,按照顺次转换的规则,一旦有溢出,则都转
换为int类型
发信人: winniezh (我想我是海,但我不是), 信区: Java
标题: Re: 菜鸟问题
发信站: BBS 水木清华站 (Fri Aug9 14:32:27 2002)
【 在 aliaz (alias) 的大作中提到: 】
: 因为在java中char,short,byte属于同一级别,按照顺次转换的规则,一旦有溢出,则都转
^^^^^^^^^^
应该是不管是否会溢出,因为
无论何时当执行到涉及byte, short, char 的数字运算时都会先扩展到int大小,这是在
编译时就完成了的。我想是为了性能考虑吧,毕竟现在很多都是32位机,它们的存储和
运算都是按照32位进行的。
个人观点,如有理解不当,欢迎批评指正。
: 换为int类型
页:
[1]