Java基本数据类型(表格版 + 整型溢出 + 自动拆装箱 + 高频缓存)

本文详细介绍了Java中的基本数据类型,包括它们的二进制位数、取值范围、默认值、包装类以及高频区间数据缓存范围。特别强调了整型溢出问题和Integer的高频缓存区对性能的影响。同时,文章还讨论了引用数据类型,如强引用、软引用、弱引用和虚引用的概念。此外,还阐述了基本数据类型与包装类之间的自动装箱和拆箱操作。
摘要由CSDN通过智能技术生成

Java的数据类型主要包括基本数据类型引用数据类型

一、基本数据类型

简单类型二进制位数取值范围默认值包装类高频区间数据缓存范围
byte8-2^8 - 2^8-10Byte-128 - 127
short16-2^16 - 2^16-10Short-128 - 127
int32-2^32 - 2^32-10Integer-128 - 127
long64-2^64 - 2^64-10Long-128 - 127
float32-2^32 - 2^32-10.0Float无缓存区
double64-2^64 - 2^64-10.0Double无缓存区
boolean1true/falsefalseBoolean使用静态final定义,就会返回静态值
char16-2^16 - 2^16-1\u0000Character0 - 127

补充说明:

  1. byte,short,int,long 为整型类型,当赋予的值超过了该整型变量的取值范围,则会发生整型溢出

(例:int a = 2^8;//溢出, 解决方案:将int类型扩大为long类型)

  1. 高频缓存区的作用:提高性能

    //以Integer为例
    
    Integer var1 = 100; //new了一个对象,赋予属性值100
    Integer var2 = 100; //由于100在Integer的高频缓存区内,则无需再new一个新的对象,直接让var2 指向和var1同样的内存空间
    System.out.println(var1 == var2); //由于var1 和var2 指向同一片空间,所以二者地址值相等,答案应为true
    
    //倘若有多个Integer 对象 属性值为100,则这些变量都和var1指向相同的内存空间,因此可以提高性能
    
  2. 基本数据类型与包装类之间的转换(自动装箱 && 自动拆箱)

Integer val = 100;  等价于  Integer var = Integer.valueof(100); // 这就是基本类型转换为包装类类型的自动装箱
int num = var;  等价于  int num == var.intValue(); //这就是包装类类型转换成基本类型的自动拆箱

二、引用数据类型

Java 的四种引用类型从强到弱分别是:强引用、软引用、 弱引用、 虚引用。

Java 的三种引用数据类型分别是:类、数组、接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只可爱的小猴子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值