当前位置: 代码迷 >> Java相关 >> [求助]shot,int区别
  详细解决方案

[求助]shot,int区别

热度:508   发布时间:2006-05-17 12:45:00.0
[求助]shot,int区别
我用
short x=5;
byte y=2;
时发现虽然X,Y声明的类型为16位与8位.但我发现它们实际占用了32位(int型).
这是不是因为给X,Y负的值都是INT型.那JAVA中可以强调X,Y为SHORT或BYTE型吗
比如LONG X=345L;//这儿就用L强调345为长整型
搜索更多相关的解决方案: int  shot  JAVA  INT  LONG  

----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------

你怎么知道它们实际占用了32位(int型)呢?


----------------解决方案--------------------------------------------------------
因为我声明了short a=3;
然后用Integer.toBinaryString(~a)输出时发现结果是32位二进制

----------------解决方案--------------------------------------------------------
那里然,你用的是Integer的方法,你为什么不用一下Short的方法呢
----------------解决方案--------------------------------------------------------
值得注意的是,对byte和short型进行移位运算的时候,JAVA将会对这些类型扩大为int型,并且表达式也是int型。
----------------解决方案--------------------------------------------------------
楼上说的对,我看书也这样说过:进行移位时,short,byte,int超过32位则取余,LONG超64取余

你为什么不用一下Short的方法呢
short的方法是不是short.toBinaryString()
----------------解决方案--------------------------------------------------------
short不是也属于Integer类吗,怎么它还有自己的方法吗?
----------------解决方案--------------------------------------------------------
谁说Short属于Integer?

----------------解决方案--------------------------------------------------------
它们关系是怎么样的,给我讲讲
----------------解决方案--------------------------------------------------------
  相关解决方案