一叶笑天
雄关漫道真如铁, 而今迈步从头越。 从头越, 苍山如海, 残阳如血。
posts - 73,comments - 7,trackbacks - 0
1.基本数据类型的转换是由系统根据转换规则自动完成的。转换是在编译器执行,不是在运行期再执行。
2.基本数据类型的转换在赋值、方法调用和算术运算这3种情况下都会发生。
3.合法的基本数据类型转换原则是指从取值范围窄的类型向取值范围宽的类型转换,如果是从取值范围宽的类型向取值范围窄的类型转换,则会产生编译错误。
基本数据类型转换顺序:
                                char
                                  |
byte----->short----->int------>long----->float------>double
4.Java语言中无后缀的数字型为两个,整型的默认是int。浮点型的默认是double。
5.赋值语句中,默认整型作为右操作数时,可以赋值给取值范围比整型小的变量,前提条件是文字值对应的实际数值在变量类型的取值范围内。而默认为double的文字值只能赋值为double的变量。不能赋值给float变量。
6.基本数据类型转换在算术运算情况下的转换规则是不一样的:

单操作数运算规则
(1) 当运算符是+、-、~时,如果操作数为byte、short、char则先被转换为int再参与运算
(2) 当运算符是++、--时,如果操作数为byte、short、char则不先被转换为int,而是直接参与算术运算,且运算结果类型不变。
(3) 如果操作数为int或long,则无论运算符为何种单操作数运算符,均不发生类型转换,直接参与算术运算,且运算结果类型不变。

双操作数运算的规则
(1) 如果操作数之一为double,则另外一个操作数先被转换为double再参与运算。
(2) 如果两个操作数均不为double,当操作数之一为float,则另外一个操作数先被转换为float,再参与算术运算。
(3) 如两个均不为double或者float,当操作数之一为long,则另外一个操作数先被转换为long,再参与算术运算。
(4) 如果两个均不为double或者float或long,则两个操作数先被转换为int,再参与算术运算。
(5) 如果采用+=、*=等形式,系统会自动强制将运算结果转换为目标变量的类型。
posted on 2008-08-15 16:23 一叶笑天 阅读(213) 评论(0)  编辑  收藏 所属分类: JAVA技术

只有注册用户登录后才能发表评论。


网站导航: