Java基本类型及其包装类

Java基本类型包括四类八种,布尔型(boolean)、字符型(char)、整数型(byte/short/int/long)、浮点型(float/double)。布尔型占用一个字节,字符型两个字节,字节型占一个字节,短整型占两个字节,默认整型占4个字节,长整型占八个字节,单精度浮点型占四个字节,双精度浮点型占八个字节。不同基本类型之间经常需要相互转换,有自动类型转换和强制类型转换之分。

其中char/byte/short之间运算都会自动先行转换为int,int类型可自动转换为long,如int int010 = 3; long long010=int010;由于整型都默认为int型,所以如999999999999超过int类型范围的数的写法是错误的,应在其末尾加上L,表示其位长整型。64位long型能够自动转换为32位float型是由于long型是以2的次方形式表示其数值范围,而float型是以10的次方表示。自动类型转换可总结如下:byte/short/char-->int-->long-->float-->double。在算术表达式中,数据类型会自动提升到表达式中最高等级操作数同样的类型。

疑问:如果整型默认为int型,那么byte byte010 =1不是需要强制类型转换吗,如果说是编译期能够自动向下转换,那么byte byte020=byte010+1为什么不能自动向下转换?

如果要逆天而行,使上面的箭头右转则需要强制类型转换。强制类型转换只需在被转换类型前面加上转换类型即可。如int 020 =(int)byte010,char 010 = (char)byte010。转换过程中可能会造成部分数据缺失,失真。

基本类型间相互转换可通过对应的包装类来实现。基本类型包装类都有byteValue()、shortValue()、intValue()等普通方法,将包装类转换成对应基本类型。如byte byte010 =1;Byte byte100 = byte010; int int010 = byte100.intValue();double dou = byte100.doubleValue()。

任何基本数据类型和字符串连接运算时,基本类型都会转换成字符串类型。如果想把一个基本数据类型转换为字符串,以下都以byte为例。1)可让其加上空字符串即可。2)使用基本类型对应的包装类的静态方法toStirng(byte b)。如String b = Byte.toString(byte010)。3)将基本类型先转换成包装类,再用包装类的普通方法toString()。如Byte b0 = byte010; String b1 = b0.toString()。4)使用String类静态方法valueOf(byte b)。String b2 = String.valueOf(byte010)。

字符串也可转换成基本类型。1)先用包装类的静态方法valueOf(String str)将字符串转换成包装类,再转换为基本类型。如:String str = "2";Byte b3 = Byte.valueOf(str); byte b4 = b3。2)使用包装类型静态方法parseByte(String str)直接转换成基本类型。如:byte b4 = Byte.parseByte(str)。

基本类型包装类方法比较多,大家可以在需要的时候翻翻API文档。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值