八大基本数据类型及数据类型之间的转换---zixiao

八大基本数据类型及数据类型之间的转换

八大基本数据类型:

  • 基本数据类型: byte short char int long float double

  • 基本数据类型对应的包装类:Byte Short Character Integer Long Float Double

  • **注:字符型char所表示的单个字符与Ascii码中相对应的整型对应 :A~Z --> 97~122 a~z – > 65~90

    数据类型所占字节位数数值范围包装器类型
    boolean---------------------------------------------------------------Boolean
    byte1字节8*1 = 8bits-128 ~ 127Byte
    char2字节8*2 = 16bitsUnicode 0 ~ Unicode 2^16 - 1Character
    short2字节8*2 = 16bits-2^15 ~ 2^15 - 1Short
    int4字节8*4 = 32bits-2^31 ~ 2^31 - 1Integer
    long8字节8*8 = 64bits-2^63 ~ 2^ 63 - 1Long
    float4字节8*4 = 32bitsIEEE754 ~ IEEE754Float
    double8字节8*8 = 64bitsIEEE754 ~ IEEE754Double

    数据类型之间的转换:

    (1). 基本数据类型中类型的自动提升

    • 在Java中:整数类型(byte/short/int/long)中,对于未明确数据类型的整型,其默认类型为int型
    • 在浮点数类型(float/double)中,对于未明确数据类型的浮点型,默认类型为double型
    • 注1: 对于默认为int类型的数值,当赋给一个比int型小的数据类型变量k(k为byte/char/short)如果超过了该数据的范围编译器会出错,若不超过,jvm会自动隐式转换
    • **注2:**char类型的数据本身是unsigned其数值范围是:0~2^16-1,因此byte和short不能自动类型转换成char(signed:有符号的,unsigned:无符号的)

    (2). 隐式类型转换

      * 隐式转换也叫自动类型转换(由系统自动完成):
        byte -> short (char) -> int -> long -> float  -> double  从左到右的数据类型能发生隐式转换
    

    (3). 显示转换:

      * 显示转换也叫做强制类型转换,由程序猿手动敲代码完成
    
        例如:
        ```java
        int i = (int)3.1415926535
        ```
      * double -> float -> long -> int -> short(char) -> byte 
    
    • 注:强制类型转换所带来的结果可能会丢失精度,如果此类数值尚在范围较小的数值范围内进行转换,对于整型变量不变,但如果超过了数据的范围,会出现数据丢失

    (4). 进行数学计算时,数据会自动提升,这是时候可能会用到强制类型转换

    int a = 9;
    byte b = 1;
    byte result = (byte)(a + b);
    // b会自动类型提升转换为int 但由于接受结果的数据为byte类型有得进行强制类型转换
    

注:当进行数学运算的时候,数值范围较小的数据会自动提升为较大者! ! !

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值