强制类型转换(也称为显式类型转换)

1.是什么        

        强制类型转换(也称为显式类型转换)在Java中是一种编程技术,它允许程序员将一种数据类型的变量转换为另一种数据类型的变量,即使这两种类型在Java的类型层次结构中不是直接兼容的。

强制类型转换通常用于以下几种情况:
1.将一个较大数据类型的变量转换为较小数据类型的变量。

解释:

例子 ①:将long转换为int

long longValue = 1234567890123L;
int intValue = (int) longValue/强制类型转换,可能会丢失数据

例子 ②:将double转换为float

double doubleValue = 1234567890123.456789;
float floatValue = (float) doubleValue/强制类型转换,可能会丢失精度

2.将一个基本数据类型转换为另一种基本数据类型,而两者之间没有直接的自动转换路径。

(1)int转换为char

例子 :

int intValue = 65;//'A'的 Unicode 值是 65
char charValue = (char) intValue/强制类型转换,将整数值转换为字符

 注意:这里,整数值65被转换为其对应的字符'A'

(2)从char转换为byteshort

char charValue = 'A'; // 'A'的Unicode值是65
byte byteValue = (byte) charValue; // 强制转换,结果是65
short shortValue = (short) charValue; // 强制转换,结果是65

(3)从byteshort转换为char

byte byteValue = 65;
char charValue = (char) byteValue; // 强制转换,结果是字符'A'

short shortValue = 65;
char charValue = (char) shortValue; // 强制转换,结果是字符'A'

2.强制类型转换的细节

(1)当进行数据的大小从 大——>小,就需要使用到强制转换

(2)强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级

解释:

//注释部分是错误代码,蓝色框内才是正确代码(蓝色框内的代码才能实现强制类型转换)

(3)byte和short类型在进行运算时,当做int类型处理。

解释:自动类型转换!!!

        好啦,本期内容就结束啦,小伙伴们还知道哪些细节呢?可以留言在评论区留言喔


猜你感兴趣的方面:

#如何区分++i和i++???
#自动类型转换有哪些细节???
#JVM、JRE、JDK之间的关系
#面向对象和面向过程有什么区别
#彻底区分:基本数据类型、引用数据类型和包装类型
#成员变量、局部变量和静态变量的区别
#彻底弄清:原码、反码、补码
#值传递和引用传递的区别
#按位与(&)、按位或(|)、按位异或(^)、按位取反(~)
#面向对象的三大特征
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值