欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java基础第三篇 自动类型转换

程序员文章站 2022-07-15 17:07:01
...

Java基础第三篇 自动类型转换

       在java开发过程中经常会遇到不同的基本数据类型自动转换,所以我们所讲的自动类型转换前提是基本数据类型是基本数据类型,例如:

int myt1=99;
double myt2=myt1;
System.out.println(myt2);

注意点:1、目标类型能与源类型兼容,如double型兼容int型,但是char型不能兼容int型,byte型不能兼容char型,下图就是类型的转换,从小的数值类型自动转换到大的数值类型

Java基础第三篇 自动类型转换

注:flot应为float.

2、图中依次表示了各数值类型的字节数和相应的取值范围。在Java中,整数类型(byte/short/int/long)中,对于未声明数据类型的整形,其默认类型为int型。在浮点类型(float/double)中,对于未声明数据类型的浮点型,默认为double型。

3、目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了,有一点例外的是long类型能自动转换为float类型,float类型能表示的数远远大于long型,具体原因可以参考https://blog.csdn.net/writing_happy/article/details/78880606

4、byte型不能自动类型提升到char,char和short直接也不会发生自动类型提升(因为负数的问题),同时,byte当然可以直接提升到short型。

5、凡是byte、short 、 char数据类型数据在运算的时候都会自动转换成int类型的数据再运算。

参考代码:

package HolleWorld;

public class HelloWorld {


    public static  void  main(String arge[]){
        byte byte1=78;
        short short1=byte1;
        System.out.println(short1);

        short short2=77;
        int int1=short2;
        System.out.println(int1);


        int int2=76;
        long long1=int2;
        System.out.println(long1);

        long long2=75;
        float float2=long2;
        System.out.println(float2);

        float float3=74;
        double double1=float3;
        System.out.println(double1);

        int int3=73;
        double double2=int3;

        System.out.println(double2);

        int int4=72;
        float float4=int4;
        System.out.println(float4);






    }
}

参考来至:https://www.cnblogs.com/lwbqqyumidi/p/3700164.html 

                  https://blog.csdn.net/weixin_39582667/article/details/77353235

                  https://blog.csdn.net/writing_happy/article/details/78880606

                 以及慕课网