Java类型转换

本文介绍了Java中的类型转换,包括强制转换和自动转换。强调了转换规则,如从低到高是自动转换,从高到低需强制转换。特别指出不能对布尔值和不相干类型进行转换,并提醒在转换过程中可能遇到的溢出和精度问题。举例说明了浮点数转换为整数时精度损失,以及在处理大数值时可能出现的溢出错误。最后,给出了避免溢出错误的方法,即使用long类型进行计算。
  • 由于Java是强类型语言,在进行有些运算时,需要进行类型转换
  • 类型转换分为强制转换和自动转换

  • 根据数据类型进行转换:从低到高时进行强制转换:从高到低时进行自动转换;(自动转换程序会自动运行)            低----------→高             byte→short→int→long→double→char

如何强制转换

int i =99

byte b = (byte)i;

//如果直接赋值,会报错,需要在前面添加其类型(byte);

  • 注意点:

  1. 不能对布尔值进行转换;(是与非)

  2. 不能把对象转换成不相干的类型;

  3. 在高容量转换成低容量时,强制转换

  4. 转换的过程可能存在内存溢出,或精度错误 例如浮点数转换成 整数,小数部分会有遗漏

System.out.println((int)23.7);

输出结果为27,因为int为整数类型

     5.操作比较大的数时,注意溢出问题

``

int money = 10_000_000_0;
int year = 30;
System.out.println(money*year);

此时输出值为-1294967296

System.out.println((long)money*year);

将其中一个值定义成long类型输出正确;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值