### 自动类型转与强制类型转换的应用

编写 Java 程序，定义一个 double 型的变量和 float 型的变量，将 double 型的变量加上 float 型的变量*10 的积，赋值给另一个 double 型的变量和 float 型的变量。

#### 运行结果：

实例的运行结果如图 1 所示。

图 1 TypeConvert 类的运行结果

#### 解题关键：

l 当为变量赋值的数据类型与变量类型不一致，并且赋值的数据类型级别低于变量类型的级别时，自动数据类型转换会将赋值数据自动转换为变量的类型。

l 当把高级别（即占用存储空间较大）的数据类型赋值给低级别（即占用存储空间较小）的数据类型时，必须进行的强制类型转换。

#### 答案：

编写 TypeConvert 类，名称为 TypeConvert.java，在该类中，首先定义一个 double 型的变量 money 和 float 型的变量 price，然后将 money 加上 price*10 的积，赋值给另一个 double 型的变量 money1 和 float 型的变量 money2，最后输出 money1 和 money2，具体代码如下：

public class TypeConvert {

public static void main(String[] args) {

double money=31415926535897932384626.2; //定义一个 double 型的变量

float price=12.6f; //定义一个 flo ad 型 的变量

double money1=money+price*10; //此时不需要强制类型转换

float money2=(float)money+price*10; //此时需要强制类型转换

System.out.println("double 型的 money1 的值为："+money1);

System.out.println("float 型的 money2 的值为："+money2);

}

}