Java基础1-数据类型

1、java数据类型

  在java语言中,数据类型包括基本数据类型引用数据类型。基本的数据类型包括整型byte、short、int、long,分别占1、2、4、8个字节)、浮点型(float、double,分别占4、8个字节)、char(2字节)和boolean类型。引用数据类型包括类、数组、接口、String字符串等。

2、基本数据类型对应的包装类

  基本数据类型对应的包装类依次为:Byte Short Int Long Float Double Character Boolean。他们实现共同的抽象类Number,该抽象类内定义的抽象方法如下图所示。各包装类实现抽象方法,通过调用对应的方法xxxValue(),可将当前的的包装类转换为相应的基本数据类型。

下面将以Double类中intValue()为例描述实现方式。首先Double类中定义了变量value存储数据,且该变量是不可变的。

创建Double对象(new Double(,,,)),此时构造器自动将传递的数值存储到value变量中。

 当Double类对象调用intValue()方法时,执行如下逻辑,将value强制类型转换为对应的数据类型。由上面的运行结果可知,浮点型向整型数据转换时存在精度缺失,即只保留整数部分的数值(截断)。

 此外,各包装类均定义为final类,该类不被继承。

 3、各包装类和String之间的转换

String-->Double包装类

  • 可直接调用Double包装类的构造器,参数传递String字符串。构造器内调用parseDouble(String)方法将字符串转换为double类型存储到value变量中。

  • 先调用包装类的parseDouble(String)方法,将string字符串转换为double数据类型,再调用Double包装类的构造器传递转换后的double类型数据。

 

Double包装类-->String

通过调用String类的valueOf(基本数据类型)方法实现。该方法调用对应包装类的toString()方法。包装类内部都定义toString(基本数据类型)方法,将包装类对象转换为String对象。下面以Double类为例展示代码实现。

 4、自动装箱和自动拆箱

 是基本数据类型和对应包装类之间的直接转换机制。

将基本数据类型赋值给对应包装类的过程体现自动装箱。

 将对应包装类赋值给基本数据类型的过程体现自动装箱。

  5、包装类中的常量池技术

   在介绍完自动装箱/拆箱技术之后,可以看出包装类对象的定义分为两种方式,即通过字面量方式和关键字new创建新对象。其中Byte Short Integer Long([-128,127]) 和Character([0.127])实现常量池技术,在区间内使用字面量方式赋值时可直接从常量池中取值,不产生新的对象。

当数据超过[-128,127]区间范围时,常量池技术失效。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值