|
当一个java算术表达式中包含多个基本类型的值时,整个算术表达式的数据类型将发生自动提升。Java定义如下的自动提升规则:
1. 所有byte型、short型和char型将被提升到int型。 2. 整个算术表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型。操作数的等级排列如下图所示,位于箭头右边类型的等级高于位于箭头左边类型的等级。 ![]() 下面程序示范了一个典型的错误: ![]() ![]() ![]() ![]() ![]() ![]() 下面代码是表达式类型自动提升的正确示例代码(程序清单同上): ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 必须指出的,表达式的类型将严格保持和表达式中最高等级操作数相同的类型,下面代码中两个int整数进行除法运算,即使无法除尽,也将得到一个int结果(程序清单同上): ![]() ![]() ![]() ![]() ![]() ![]() 如果表达式中包含了字符串,则又是另一番情形了:因为把加号(+)放在字符串和基本类型值之间时,这个加号是一个字符串连接运算符,而不是进行加法运算。看如下代码: ![]() ![]() ![]() ![]() ![]() |
java表达式类型的自动提升
最新推荐文章于 2023-03-04 11:57:30 发布