类型转换java

运算中,不同类型的数据先转化为同一类型,然后再进行运算。

低------------------------------------------------>高
byte,shart,char,--->int-->long-->float-->double
类型转换分为:强数据类型转换 和 自动类型转换
  1. 强制类型转换 (高------->低转换) (转换类名)变量名
    例如:
int i=127;
byte b=i;  //错误 会提示赋值b=i 要进行强制类型转换  i前面加上(byte)转换的类名
byte b=(byte)i;  //正确
  1. 自动类型转换 (低---->高) 变量名前什么也不添加
    例如:
int i=128;
double b=i;   //b等于i   int转换double  自动转换

注意:

  1. 不能对布尔值进行转换。
  2. 不能把对象类型转换为不相干的类型。
  3. 再把高容量转换为低容量时为强制类型转换,反之 自动转换。
  4. 转换的时候,可能存在内存溢出或精度问题。
操作比较大的时候注意溢出问题

例如:

int money=10_0000_0000;  //数字之间可以用下划线进行分割,不会运行出来
int years=2;
int total=money*years; 
//输出:-14748364880 不对 计算的时候溢出了
long total2=money*years;
//默认是int,转换之前已经存在问题
long total3=money*(long)years;
//先把一个数转换为 long   正确
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值