您的位置:首页 > 编程语言 > Java开发

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

2017-03-23 17:14 274 查看
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:

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

★举例:

public
class
ZhuanHuan{
   
public static
void
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
       }
}

 

 

 

public
class
QiangZhuan{
   
public static
void
main(String[]
args){
      
double
d = 2.98;
      
int
i = (int)d;
       System.out.pritnln(i);//强制类型转换,输出2
    }
}
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: