入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

Java基本数据类型大小(Widths:Bit)及取值范围大小

创建时间:2016-03-24 投稿人: 浏览次数:3974

【2016-3-24】去一公司面试时,做了一套基本的笔试题,其中开头的10分的题居然是写出常用的Java基本数据类型的宽度。由于,目前的开发工作中,还没有深入或者说用到这种细节的地方。当时只凭大学初学时加上后来的逐渐理解,把它完成了。不过至于Long,Char占多少Byte,没有把握,好汗颜~原来,1long=8byte!!!

  于是,回来百度+实践总结一下,把常用的基本数据类型的所占字节宽和取值范围大致做了一个统一总结:

Java基本数据类型所占字节宽(bit)及取值范围

Java基本数据类型 内存大小 取值范围
Byte 1byte=8bit
[-27, 27-1],即:-128~127

Short 1short=2byte=16bit
[-215, 215-1],即:-32768~32767

Char 1char=2byte=16bit (Unicode-16)


Int 1int=4byte=32bit
[-231, 231-1]

Long 1long=8byte=64bit
[-263, 263-1]

Float 1float=4byte=32bit
[-231, 231-1]

Double 1double=8byte=64bit
[-263, 263-1]

Boolean




布尔类型boolean比较特殊,尽管Java虚拟机定义了boolean类型,但虚拟机对boolean类型的支持是有限的,没有为boolean值单独设计JVM指令。操作布尔值的表达式在编译之后,它使用的是JVM的int数据类型,也就是占用4个字节。

JVM也不会直接支持boolean数组,boolean数组在编译之后,它的元素采用byte数据类型,用0表示false,1表示true,也就是boolean数组的元素只占用一个字节。


	PS:由于笔记本尚未安装好环境,还未及时编码测试以确认(我承认我还是得亲自再操作后才相信理论上的一切,嘿嘿)。如有问题,欢迎提出,尚待完善~




2016-3-24 23:04 记 - bj

阅读更多
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像