Java 数据类型详析

毕业半年被裁后,一个月斩获大厂offer,“跟着周哥走,offer手里有”。文末有周哥50+场面试总结出的必会面试题。

在 Java 中,数据类型主要分为两类:基本数据类型(Primitive Data Types)和引用数据类型(Reference Data Types)。

基本数据类型包括:

  1. byte:字节型,占 1 个字节(8 位),取值范围是 -128 到 127 。
  2. short:短整型,占 2 个字节(16 位),取值范围是 -32768 到 32767 。
  3. int:整型,占 4 个字节(32 位),取值范围是 -2147483648 到 2147483647 。
  4. long:长整型,占 8 个字节(64 位),取值范围很大。
  5. float:单精度浮点型,占 4 个字节。
  6. double:双精度浮点型,占 8 个字节,精度更高。
  7. char:字符型,占 2 个字节,用于表示单个字符。
  8. boolean:布尔型,只有两个值 truefalse,用于逻辑判断。

引用数据类型包括:

  1. 类(Class)
  2. 接口(Interface)
  3. 数组(Array)

引用数据类型存储的是对象的引用(内存地址),而不是对象本身。

注:java 中基本数据类型的大小以及有关运算的行为都有明确的说明,例如 int 类型永远为 32 位整数,而在 C/C++ 中可能是 16 位整数、32 位整数,也可能是编译器开发商指定的其他任何大小。

每个基本数据类型都有对应包装类
除了int和char对应Integer和Charater之外,其余基本数据类型的包装类都是首字母大写即可。

自动装箱:是指将基本数据类型包装为一个包装类对象。例如向一个泛型为 Integer 类型的集合添加 int 类型的元素。

自动拆箱:是指将一个包装类对象转换为一个基本数据类型,例如将一个包装类对象赋值给一个基本数据类型的变量。
注:要比较两个包装类的数值需要使用 equals 方法,而不能使用 == 比较运算符。

引用数据类型
引用数据类型分为引用变量和引用指向的对象。引用变量称为refvar,引用指向的实际对象称为refobj。

  • refval: 是基本数据类型,默认null,存储refobj的首地址,可以直接使用双等号 == 进行等值判断。

    • 作为一个引用变量,不管它指向包装类、集合类、字符串还是自定义类,均占 4B 空间。
  • refobj: 无论是多么小的对象,最小的占用空间是 12B(用于存储基本信息,称为对象头)。

    • 由于存储空间分配必须是 8B 的倍数,所以初始分配空间至少是 16B。

包装类性的常量池技术了解吗?

Java 基本类型的包装类的大部分都实现了常量池技术。
Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据,Character 创建了数值在 [0,127] 范围的缓存数据,Boolean 直接返回 True or False。

点击此处,获取面试秘籍

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值