【Java基础】基本数据类型转换

转型有两种:分为向上转型和向下转型,该篇文章只记录基本数据类型直接的转换。

自动类型转换

类型转换
自动类型转换是容量小的数据类型可以自动转为容量大的数据类型,如实线表示无数据丢失的自动类型转换,而虚线表示在转换时可能会有精度的损失。
可以将整型常量直接赋值为byte、short、char等类型变量,而不需要进行强制类型转换,只要不超出器表示范围即可。

//long e = 3.12F; 错误
float f = 123123L; //正确

//特例
byte b = 123;	//正确 123为int类型,并且没有超出byte的容量,所以可以自动转换
//byte b1 = 1234; 错误
//1234为int类型,该容量超出了byte的表示范围

强制类型转换

运算符“()”中的type表示将值var想要的转成的数据类型
注意精度的损失

基本数据类型常见问题

int money = 1000000000;//10亿
int count = 20;
//返回的num是负值,超出了int的范围
int num = money*year; // -1474836480
//返回的num1仍然是负值,默认是int,因此结果会转成int值,再转成long,但是已经发生了数据丢失
long num1 = money*count;
//返回的num2正确,先将一个因子变为long,整个表达式发生提升,全部用long来计算。
long num2 = money*((long)count);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值