一、数据类型转换概念

在刚才的案例中,我们的商品单价使用的double类型,而商品数量使用的是int类型,当我们在计算商品总价的时候该如何定义变量呢?

此时就需要我们使用类型转换。

1、网上购物商城会计算当天的营业额,客户以订单的方式来结算,把所有订单金额累加就是当天的营业额了。订单金额是把每种商品消费金额累加得到的。

2、计算订单金额的时候,需要把int类型的商品数量转为double类型,计算出订单金额就能得到营业额,但因为营业额在系统中是int类型的数据储存的,所以最后要从double类型转化为int类型。




java class 里的类 强转_java class 里的类 强转

数据类型转换的概念



Java中根据数据类型的不同,把类型转换分为自动类型转换(隐式类型转换)强制类型转换(显示类型转换)两种。

二、类型转换拆解

下图是合法的数据类型 (数值类型)之间的转换,6个实心箭头代表无损转换3个虚线代表有可能丢失精度




java class 里的类 强转_java class 里的类 强转_02

数值类型强制转换 与自动转换



下列类型不能转换




java class 里的类 强转_int转换为cstring_03

跨大类型 数据 无法转换



三、自动类型转换与强制类型转换

假如有一个热卖商品,商品数量是4,商品单价是9.8元,那么商品总价是如何计算呢?(自动转换)




java class 里的类 强转_int转换为cstring_04

编程案例 -作答(数据自动转换)



那么,把double类型的订单金额累加起来得到的营业额转成int类型,这又是如何转换的呢

则涉及到强制类型转换。

语法:目标类型 变量=(目标类型)值;

浮点型数据强制转换为整型数据,会丢失所有小数点位数值,并不会人为的四舍五入,即为丢失精度。




java class 里的类 强转_java class 里的类 强转_05

数据的强制类型转化



四、总结

本章节我们大致阐述了一下Java编程中的数据类型转换操作。