Java八大基本数据类型

  1. 在JavaSE开发中,最注重的就是Java基础,俗话说得好,基础不牢,地动山摇。所以,我们打工人就更应该把基础打好,以期有朝一日能够不再当底层的打工人,至少也要当个厉害点的打工人不是?
  2. 跑题了,先说为什么要讲八大基本类型吧,我有个同学在一次面试时,被一个老头子问到为什么Java有八种基本类型。同学当场就宕机了,这什么问题啊?他给我说的时候我也在想,过了几秒钟,我说可能是因为要优化内存使用吧。但这个说法可能是错误的。
  3. 那到底为什么Java要有八大基本类型呢?
    我们先说Java有哪八大基本类型。short,int,long,float,double,char,boolean,byte。其中,short又叫短整型,占两个字节16位,取值范围是-32768∽32767。
  4. int叫整型,占4个字节32位,取值范围-2147483648∽2147483647,怎么样这个数字是不是很熟悉,很多游戏的显示上限就是21亿,是因为那个变量在定义的时候就被定义成了int型的数据。
  5. long叫长整型,占8个字节64位。取值范围我只说个大概吧,±922京。笔者玩的崩崩的目前的显示上限就是922京。
  6. 很显然,上述例子能够说明一些事,对于某些数据而言,它的范围远远达不到21亿,所以这个时候用int型数据是不是比较合适,而short型数据可能又不太够用,long型数据又太大。这个时候用int型来保存数据会不会更好一些?
  7. 同样的,只需要状态值时,bool类型占用一个字节就可以解决。
  8. 同样的,byte类型也是,但是byte字节类型多用来存储文件类型(多指非文本类的数据)。例如,在上传文件时,开辟一个byte[2048]的缓冲数组。用来支持文件缓存,相较于一个一个读取文件的效率要好上不少,但现在java的文件复制等多用文件通道来做了,这里不深入谈。
  9. char类型一般占用两个字节。
    可以存储65536个字符,但是根据编码不同,char所占字节数也可能会变化。比如ASCII编码集的char类型就只占一个字节。
  10. float和double稍微有些不同。
  11. java虚拟机在解析定义的boolean变量时,会把它转化为整型,true被映射为1,false被映射为0。其他的如byte,short,char在读取时和boolean型一样,会被映射为整型(int)。
  12. 因为java的强类型机制,让我质疑自己的优化内存使用的答案,因为不管使用boolean还是short,在java虚拟机中都会被扩展为int,那我定义这种类型的数据是为什么呢?于是我得出另一个结论,是为了优化程序可读性。是不是很扯?当然,到现在我也没有一个java到底为什么使用八大基本类型的原因,有人知道吗?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值