A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yangjijin 中级黑马   /  2014-6-29 11:17  /  586 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

类型转换[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);
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马