java——不同数据类型的转换规则

来源:互联网 发布:查看公司开放端口 编辑:程序博客网 时间:2024/06/05 18:17

Java语言中,当参与运算的两个变量的数据类型不同时,则需要进行数据类型的转换。

转换规则:

(1)类型自动转换 / 隐式数据类型转换

          ● 低级数据类型可以自动转换为高级数据类型。

                                                                          PS:优先级满足byte<short<char<int<long<float<double

          ● 在进行类型自动转换时,需要注意以下几个方面:

             1)  boolean类型和基本数据类型不能进行相互转换;

              2) byte、short、char类型的数据在参与运算时,会自动的转换为int型。

                     But:当使用“+=”时,不会产生类型转换

                      Eg:

                      错误写法:

                     Short s1 = 1;

                     s1 = s1 + 1;  //编译器报错,因为运算时,会将s1转换为int型,与1相加


                     正确写法:

                     Short s1 = 1;

                      s1 = (short)(s1 + 1);

             ●   char类型的数据转换为高级类型时,会转换为其对应的ASCII码。



(2)强制类型转换

                当需要从高级数据类型转换为低级数据类型时,就需要进行强制类型转换。

            Tips:

                     强制数据类型的转换可能会引起进度的损失。





★举例:

publicclass ZhuanHuan{

    public staticvoid main(String[] args){

       int a = 6;      

       float f =a;

       System.out.pritnln(f);//自动类型转换,输出6.0

      

       byte b = 9;

       //char c = b;           //不能实现类型转换

      

       double d =b;

       System.out.pritnln(d);//自动类型转换,输出9.0

       }

}

 

 

 

publicclass QiangZhuan{

    public staticvoid main(String[] args){

       double d = 2.98;

       int i = (int)d;

       System.out.pritnln(i);//强制类型转换,输出2

    }

}

 


1 0