强制类型转换

强制类型转换注意事项

范围小的变量类型 范围小的变量名 = (范围小的变量类型) 原本范围大的数据
强制类型转换存在数据溢出的现象:
double–>int 会存在精度损失
long --> int 会存在溢出
char zifu = ‘A’;
System.out.println(zifu+1);//计算机的底层,会采用一个数字来代替字符A,当进行zifu+1时,A被当做65处理。
所以,byte/short/char这三种类型在进行运算时,都会被首先提升成为int类型,然后再计算。
例如:

byte num1 = 40;
byte num2 = 50;//在这里num1 和 num2 都是byte类型,在进行下一行代码的加法时,被提升为int类型,所以result是int类型;
//byte result1 = num1 +mun2;//进行编译时报错;
int result1 = num1 +mun2;
short num3 = 60;
//在这里byte + short-->int + int -->int,所以result2是int类型。
//short result2 = num1 + num3;在这里num1 + num3=100;是没有超过short的数值范围的,所以可以使用强制数据类型转换。
short result2 = (short)(num1 + num3);//注意在逻辑上真实数据大小没有超过数据类型范围,否则会存在溢出或是精度丢失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值