Java基本数据类型的转换

Java的数据类型转换
图1 - Java的基本数据类型与转换路径 (图片来源:清华大学 Java自主学习教程 1-7-6)

大家都该懂的基础知识

Java的基本数据类型如下:

charbyteshortintlongfloatdouble

值得注意的是,对数据类型转换的不敏感可能会造成代码的安全性下降并可能影响性能。

如图1所示,所需容量小的数据类型可以安全的隐式的向所需容量大的数据类型转换。实线表示无精度损失,虚线表示可能有精度损失。自动类型转换不用特殊语法。

相反,当所需容量大的数据类型向所需容量小的数据类型转换时,容易出现信息损失,是强制的,不安全的。需要谨慎操作。强制类型转换有特定语法,例子如下:

int foo = 100;
byte foooo = (byte)foo;

.

.

1.当较大类型变量超过了较小类型变量的最大值,Java的处理方式是:较大变量的值 % (2 * 较小变量的最大值)。P.S. %号是取余,不是除法

例如:当一个int为128的变量强制转换为byte时,所得到的结果是:128 % (2 * 127) = -128。

.

2.当一次基础运算中存在多个基础数据类型时,返回的结果的类型为最大的数据类型

例如:一次运算的结构为:int + long + char,返回值类型为long。若需要int则要强转。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值