Java(1):数据的类型转换(自动类型转换和强制类型转换)

1.自动类型转换

  自动类型转换:指的是容量小的数据类型自动转换为容量大的数据类型。

  常见数据类型的转换方式如下图所示:

值得注意的是:

  • 蓝色虚线部分表示的是在转换时可能会有精度的损失。
  • boolean类型的数据不可以自动转换。

代码示例1

int a=2345;
long b=a;
int c=b;//你会发现这行报错,因为long类型不能自动转换为int类型

按照示例1的代码,那么问题来了,是不是容量大的数据类型都不能转为容量小的数据类型呢?

其实不是!自动类型转换中也有特例:

   整形常量为int型,可以自转为byte、short和char型,只要不超过该类型的表数范围就行。

代码示例2

final int b1=124; //定义一个int型的常量b1
byte b2=b1;      //b1可以转换为byte型的b2
short b3=b1;    //b1也可以转换为short型的b3
char b4=b1;    //b1也可以转换为char型的b4

 2.强制类型转换

   强制类型转换:指的是强制转换一个数值的类型。但这可能会造数值的精度降低或溢出。

   格式:目标类型 变量名=(目标类型) 值;

  示例3 :精度丢失

double c1=3.14;
int c2=(int)c1;//结果c2为3,丢失小数点后面的数值

 示例4:溢出

​
int d1=300;
byte d2=(byte)d1;//d1超过byte型数值范围[0~255],d2会变为另一个数值

​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值