类型转换(cast)

类型转换(cast)

在java中,我们可以声明一个int类型的变量,然后为其赋予一个float类型,发现可以实现,这就是类型转换,即不同数据类型可以相互转换,但也有不可以,如布尔型。我总结了以下几点:

***1.***窄化转换,即容纳信息多的数据类型转化为信息少的数据类型,如int转化为short,double转化为float,这样的转换容易导致原本的数据信息会不够存,所以可能会发生信息丢失。所以java在这里会要求强制转换

int x=10~~short y=x;~~ //这样没有强制转换会报错的
short y=(short)x;
double a=10.6;
int b=0;
b=(int)a//这里虽然强制转换了,但是会导致信息丢失,当浮点数转化为整数时,小数部分会取消,而且会向下取整,即结果是10
//当然如果想要取舍的话。可以选择Math库中的round()方法

***2.***扩展转化,即容纳少信息的数据类型转化为容纳多的数据类型。如char,short,转化为int,long等;在这里不需要担心数据信息会丢失。而且也不需要强制转换,这里java会自动转换。

***3.***如果基本数据类型执行算术运算或者按位运算的话,只要类型比int小的类型如(char,short)会自动转化为int类型来在运算之前,当然最终生成的结果也是int型,当然如果想要赋值给较小的数据类型在进行强制类型转换。

***4.***表达式中最大的数据类型决定了最终结果的数据类型,如float值与double值得话,最终结果是double型的。

***5.***除了布尔型以外,任何一种基本数据类型都可以通过类型转换为其他基本类型。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值