七、数据类型转换

本文详细介绍了Java中数据类型的自动转换和强制转换。在自动转换中,取值范围小的类型会提升为大的类型,例如byte到int。而对于byte、short、char之间的相加,会有特定的转换规则。强制转换则需要程序员手动执行,但可能导致数据丢失或精度下降。文章还特别讨论了数据类型转换的特殊情况,如符号扩展,并通过示例解释了其工作原理。
摘要由CSDN通过智能技术生成

主要内容:

  • 理解数据类型的自动转换
  • 理解数据类型的强制转换
  • 掌握数据类型转换的特殊情况

Java程序要求参与计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。

1 自动转换

1.1 不同取值范围类型的两个变量

不同取值范围类型的两个变量相加,会将取值范围小的类型自动提升为取值范围大的类型
如一个 int 类型变量和一个 byte 类型变量进行加法运算,结果是 int 类型,这就出现了数据类型的自动类型转换现象:

public static void main(String[] args) {
   
	int i = 1;
	byte b = 2;
	// byte x = b + i; // 报错
	int j = b + i;// int类型和byte类型运算,结果是int类型
	System.out.println(j);
}

byte 类型内存占有1个字节,在和 int 类型运算时会提升为 int 类型,自动补充3个字节,因此计算后的结果还是 int 类型。
在这里插入图片描述
同样道理,当一个 int 类型变量和一个 double 类型变量运算时,int 类型将会自动提升为 double 类型进行运算。

public static void main(String[] args) {
   
	int i = 1;
	double d = 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值