Java基础(二):数据类型转换

xiaoxiao2021-02-28  92

java中的数据转换分为隐式转换和强制类型转换

隐式转换:

 Java中的默认取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算 。

例: int a =3; byte b = 4;  当计算a+b时,因a是整型,b是byte型,a的精度比b高,所以当a和b进行运算时,JVM会自动将b转换为int型,再与a进行运算

强制转换:

        int a=3;

        byte b=4;

        byte c=a+b;

System.out.printlc(c);

当编译该程序时,系统将会报错,原因是a属于整型,b属于byte型,其计算结果为int型,而c为Byte型,会导致精度损失

采用强制类型转换:

        int a=3;

        byte b=4;

        byte c=(byte)(a+b);

System.out.printlc(c);

我们可以看到,系统能正确编译并输出结果为7

注意:有自增自减或扩展赋值符(+=  , -=)的时候,java优化机制会自动转换数据类型

       byte b = 10;         b++;   //等价于b=(byte)(b+1)         b = b + 1;  // 此语句编译时则会报错

    

转载请注明原文地址: https://www.6miu.com/read-75017.html

最新回复(0)