当前阅读教程:Java基础语法 > 显式转换(强制类型转换) | |
阅读(22555525) 收藏 赞(5685) 分享 | |
上一篇: 隐式转换(自动类型转换) | 下一篇: Java 运算符 |
尽管自动类型转换是很有帮助的,但并不能满足所有的编程需要。例如,如果你需要将 double 型的值赋给一个 int 型的变量,你将怎么办? 这种转换不会自动进行,因为 double 型的变化范围比 int 型的要小。这种转换有使成为“缩小转换”,因为你肯定要将源数据类型的值变小才能适合目标数据类型。 所以当两种数据类型不兼容,或目标类型的取值范围小于源类型时,自动转换将无法进行,这时就需要进行强制类型转换。其语法格式如下: (type)variableName 其中,type 为 variableName 要转换成的数据类型,而 variableName 是指要进行类型转换的变量名称,强制转换的实例如下: int a = 3; double b = 5.0; a = (int)b; 上述代码中首先将 double 类型变量 b 的值强制转换成 int 类型,然后将值赋给 a,但是变量 b 本身的值是没有发生变化的。 在强制类型转换中,如果是将浮点类型的值转换为整数,直接去掉小数点后边的所有数字;而如果是整数类型强制转换为浮点类型时,将在小数点后面补零。 【示例】LeiXing05.java顾客到超市购物,购买牙刷 2 个,方便面 4 包。其中牙刷的价格是 5.9 元,方便面的价格是 1.9元,求商品总价格,在计算总价时采用 int 类型的数据进行存储。实现代码如下: public class LeiXing05 { 在上述实例中,有 double 类型、float 类型和 int 类型的数据参与运算,其运算结果默认为 double 类型,题目要求的结果为 int 类型,因为 int 类型的取值范围要小于 double 类型的取值范围,所以需要进行强制类型转换。运行结果 一共付给收银员19元
|
|
上一篇: 隐式转换(自动类型转换) | 下一篇: Java 运算符 |