JAVA自学-8大基础类型详解

本文详细探讨了JAVA中的8种基础数据类型,包括boolean、byte、short、int、long、char、float和double。对于boolean类型,文章讨论了其存储空间的三种不同观点,指出其大小取决于JAVA虚拟机实现。对于整数类型,文章解释了它们的取值范围和转换可能引起的溢出问题。此外,还提到了字符类型char和浮点类型float、double的表示范围和精度。文章总结了各类数据类型的占用字节和适用场景。
摘要由CSDN通过智能技术生成
  • 常量:final boolean isLoveYourGirlFriend = true

  • 变量:boolean isLoveYourGirlFriend; 后续可以重新赋值如:isLoveYourGirlFriend = false

占用大小:

JAVA中的8种基础数据类型中,只有boolean类型没有给出明确的存储空间大小,因为实际上boolean类型在编译到JAVA的虚拟机时,是使用其他的数据类型进行替代的,因此,在网上关于boolean类型占用的空间大小也存在许多种说法:

  • 说法1: boolean类型占用空间大小为1bit(比特),因为它的取值只有true和false两种,在计算机中只需要1个bit便能表示,bit也是计算机最小的存储单元。

  • 说法2: boolean类型占用空间大小为1byte(字节),虽然boolean的取值只有true和false,但是计算机处理数据的最小单位是byte,而1byte = 8bit,所以,boolean类型在计算机中的存储形式实际上是:使用1个字节的最低位存储,其他的7位用0填充,如值为true时,存储的二进制为:0000 0001,值为false时,存储的二进制为:0000 0000。

  • 说法3: boolean类型占用空间大小为4byte(字节),理由来源于《JAVA虚拟机规范》一书中描述到:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中int数据类型来代替,而boolean数组将会被编译成Java虚拟机的byte数组,每个元素boolean占1byte(即8bit)”,由此我们可以推断出,单个boolean类型时占用4个字节,但是boolean数组时单个boolean只占用1个字节。

  • 三种说法,哪一种更具有权威性呢? 从上面的描述来看,当然是第三种,因为前两种更多是一种猜测,并没有实际的官方资料支撑,第三种是在具体书籍中有实际说明,更具有权威性。

  • 那为什么一定是使用int而不是使用其他的整数数据类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值