Java基本数据类型之间的转换

       Java是一种强类型语言,每个数据都与特定的数据类型相关,但在运算过程中,允许整数类型、浮点数类型、字符类型的数据进行混合运算,运算前不同类型的数据首先要转换为同一类型,然后再进行运算。根据转换方式的不同,基本数据类型转换可分为两种:自动类型转换和强制类型转换。

       1、自动类型转换

       自动类型转换也叫做隐式类型转换,指的是两种数据类型在转换过程中不需要显式第进行声明。要想实现自动转换,两种数据类型之间彼此兼容,并且目标类型的取值范围大于源类型的取值范围。字节型(byte)、短整型(short)、整型(int)、长整型(long)、单精度浮点型(float)、双精度浮点型(double)之间是兼容的,它们的取值范围由低到高为:byte、char、short、int、long、float和double。字符类型(char)和整型(int)之间是兼容的,字符类型可以自动转换为整型。

       自动类型转换示例如下:

       byte b=127;  //声明一个字节型变量,初值为127

       short s=b;   //把一个字节型变量自动转换为短整型,无需显式说明

       int i=s;     //把一个短整型变量自动转换为整型,无需显式说明

       long l=i;    //把一个整型变量自动转换为长整型,无需显式说明

       float f=l;   //把一个长整型变量自动转换为单精度型,无需显式说明

       double d=f;  //把一个单精度型变量自动转换为双精度浮点型,无需显式说明

       char c='a';  //声明一个字符类型变量,初值为'a'

       int i1=c;    //把一个一个字符类型变量自动转换为整型,无需显式说明

     2、强制类型转换

       强制类型转换也叫显式类型转换,指的是两种数据类型之间的转换需要进行显式地声明。当目标类型的取值范围小于源类型的取值范围时,自动类型转换无法进行,此时,需要进行强制转换。在进行强制类型转换时,会截断源类型数据的高位内容,因此,会导致精度下降或数据溢出。

       强制类型转换示例如下:

       double d=2.4E10D; //声明一个双精度浮点型变量,初始为2.4E10

       float f=(float)d; //将一个双精度浮点型变量强制转换为单精度浮点型,需显式说明

       long l=(long)f;   //将一个单精度浮点型变量强制转换为长整型,需显式说明

       int i=(int)l;     //将一个长整型变量强制转换为整型,需显式说明

       short s=(short)i; //将一个整型变量强制转换为短整型,需显式说明

       char c=(char)s;   //将一个短整型变量强制转换为字符类型,显式说明

       byte b=(byte)c;   //将一个字符类型变量强制转换为字节型,需显式说明

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值