类型转换[15分钟]
1) 自动类型转换
a) 代码示例:
b) 在上面的示例中,我们将一个整数变量赋值给了一个双精度浮点型变量,得到的结果却是一个小数:2.0。这是一个带小数部分的数,也就是double类型的数据。
c) 在这里,数据类型自动发生了变化。
d) 作用:就是使数据类型自动发生转变,不需要我们的参与。
e) 要让数据类型自动发生变化,有一定的规则。
f) 类型提升规则:
1. 在以下条件下,系统自动完成类型转换
a) 两种类型兼容
i. 例如:int 和 double 兼容
b) 目标类型大于源类型
i. 例如:double 型 大于 int 型
2. 对于表达式
a) 如果一个操作数为double型,则整个表达式可提升为double型
b) 示例:
2) 强制类型转换
a) 示例:
b) 可以看到,Eclipse已经提示有错误了。也就是说:一些数据类型之间不能自动转换。我们需要强制类型转换。
c) 语法:(类型名)表达式
d) 作用:对数据类型进行强制转换
e) 使用强制类型转换后,就不会出错了:
f) 示例1:
g) 特点:
1. 数据精度发生变化:将小数部分丢弃,而且没有四舍五入。
h) 示例2:
i) 需要对double类型数据进行强制类型转换,将出错的代码修改为:
int now = before + (int)rise;
j) 小结:
1. 圆的半径是4.5,计算出圆的面积:
a) 圆的面积 = 3.14159*4.5*4.5
b) 计算出来后用整数表示
public class Xiaojie3 {
public static void main(String[] args) {
double r = 4.5;
double pi = 3.14159;
int area = (int) (pi * r * r);
System.out.print("半径为:" + r + "的圆的面积是:" + area);
}
}
|
|