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

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

  运行结果:

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

1  TypeConvert类的运行结果

  解题关键:

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

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

  答案:

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

public class TypeConvert {

      public static void main(String[] args) {

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

            float price=12.6f;                                                      //定义一个fload 的变量

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

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

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

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

      }

}