类型自动转换是在运算时系统自动完成的。转换规则由级别低的类型转换为级別高的类型,即由存储位数少的向存储位数多的转换。
图中横向箭头表示必须的转换,例如,两个char型数据或两个short数据也必须转换为int型才进行运算。图中纵向箭头表示当运算符两侧的操作数类型不同时,由级别低的向级别高的转换。如int型与long型运算,将int型转换为long型,结果也为long型。这里需要注意的是,当int型与double型进行运算时,并不是int先转换为unsigned int,再转换为long等逐层转换,而是直接将int型转换为double型。当然,所有的转换都是由系统自动完成的。
例如:
5+'a'/2.0+14.0/2
运行步骤为:
①先进行优先级最高的运算,先将字符专换为整型97。
②因为97为整型,2.0为double型,要进行运算,先将97转换为double型,再运算97/2.0, 结果为48.5。
③再运行14.0/2,结果为6.5。
④之后计算5+48.5+6.5,将5转换为double型,结果为60。
已有 22658 名学员学习以下课程通过考试
最需教育客户端 软件问题一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>