首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java数据类型转换的方式

背景

我们知道,Java中的数据类型总体可以分为两大类,分别是基本类型和引用类型,如下图所示:

这些不同类型的数据,开辟出的内存空间大小不同,所以每种类型的取值范围就不同。而且壹哥给大家举过例子,不同的数据类型之所以取值范围不同,就好比每种类型都是不同的房型,有大有小,如下图所示:

所以不同的类型占用的字节大小不同,取值范围也不一样。另外我们还知道,一个变量可以赋值给另一个变量,当然前提是他们的类型差不多。那么此时可能就存在一个问题:如果把byte变量赋值给int变量行不行?反之,把int变量赋值给byte行不行?引用类型之间也能互相转换吗?如果可以的话,会不会出现什么问题?

方式

Java要求=等号左边和=等号右边的类型要一致,如果不一致,就需要进行数据类型转换。Java中不同的类型之间,在满足数据兼容的条件下可以实现转换。Java的数据类型转换,大致有如下几种转换方案:

自动类型转换:容量小的类型自动转换为容量大的数据类型;

强制类型转换:容量大的数据类型转换为容量小的数据类型;

隐含强制类型转换(初始化):在变量初始化时,int类型会隐含强制转换成低级别的byte和short类型

其他类型转换:包装类、字符串、基本类型直接的转换。

对基本类型来说,常见的数据转换方式包括自动类型和强制类型转换;对引用类型而言,只存在强制类型转换一种形式。

基本原则

我们在进行类型转换时,无论自动和强制类型转换,都要遵循如下基本原则:

不能对boolean类型进行类型转换;

不能把对象类型转换成不相关的类对象;

把容量大的类型转换为容量小的类型时,必须使用强制类型转换;

类型转换过程中,可能会导致溢出或损失精度;

浮点数到整数的转换,是通过舍弃小数得到的,而不是四舍五入。

接下来壹哥就通过一些案例,来给大家讲讲这几种类型转换都是怎么回事,以及如何实现转换。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20221221A03YTG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券