自动类型转换

(一)自动类型转换

     在java 程序中,不同的基本类型的值经常需要进行相互类型转换,类型转换分为自动类型转换和强制类型转换。布尔类型boolean占有一个字节,由于其本身所代码的特殊含义,boolean类型与其他基本类型不能进行类型的转换(既不能进行自动类型的提升,也不能强制类型转换), 否则,将编译出错。

    java的所有数值型变量可以进行相互转换,如果系统支持把某种基本类型的值直接赋值给另一种基本类型的变量,则这种方式成为自动类型转换。

     当把一个表数范围较小的数值或变量直接赋给另外一个表数范围比较大的变量时,系统将可以自动类型转换,否则需要强制转换。

    图中箭头左边的数值可以自动转换为右边的数值。

       (2)byte型可以转换为short、int、、long、float和double; 
  (3)short可转换为int、long、float和double; 
  (4)char可转换为int、long、float和double; 
  (5)int可转换为long、float和double; 
  (6)long可转换为float和double; 
  (7)float可转换为double; 

 

(二)基本类型转换为字符串

不仅如此,把任何基本类型的值和字符串进行连接运算时,基本类型的值将自动转换成为字符串类型,虽然字符串类型不是基本类型,而是引用类型。因此,如果想将基本类型的值转换为对应的字符串,可以把基本类型的值和一个空字符串进行连接。

 

   (三)强制类型转换

     强制类型转换,即强制显示的把一个数据类型转换为另外一种数据类型。

    如果希望图中箭头右边的类型转换为左边的类型,则必须进行强制类型转换,强制类型转换的格式:

  (targetValuevalue

    强制类型转换的运算符是圆括号,当进行强制类型转换的时候,类似把一个大瓶里的水倒入一个小瓶子,如果大瓶子里的水不多还好,如果大瓶子了的水很多,将会引起溢出,从而造成数据丢失这种转换也被称为缩小转换。

(四)表达式的自动提升

   当一个算数表达式中包含多个基本类型的值的时候 ,整个算数表达式的数据类型将发生自动提升。java定义了如下的自动提升规则:     1 所有的byte类型,short类型和char类型将被提升到int类型。     2 整个算数表达式的数据类型自动提升到与表达式中最高等级操作数同样的类

(五)总结

1    java中整数类型默认是int类型,小数类型默认是double类型。

2    char可以当做一种特殊的整数类型

3    int无法转换为boolean

4    小数类型转为整数类型,小数可能被舍弃,出现精度损失,所以需要强制转换。

5    boolean 类型不能转换为其它数据类型。

 

 

  • 19
    点赞
  • 47
    收藏
  • 打赏
    打赏
  • 2
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 2

打赏作者

树上骑个猴

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值