类型提升
-
自动类型提升
-
进行算数运算时:
-
两个操作数有一个为double,计算结果提升为double。①
-
如果操作数中没有double,有一个为float,计算结果提升为float。②
-
如果操作数中没有float,有一个为long,计算结果提升为long。③
-
如果操作数中没有long,有一个为int,计算结果提升为int。④
-
如果操作数中没有int,均为short或byte,结算结果仍提升为int。⑤
public class Test{ public static void main(String[] args){ double num1 = 1 + 5.2;//自动提升为double 对应 1 float num2 = 5 + 5.3F;//通过,两个操作类型取大的类型 对应 2 long num3 = 3L +123;//通过,取大的类型 对应 3 int num4 = 5 + 8;//对应 4 short s = 5; byte e = 3; int num5 = s + e;//对应 5 } }
-
特殊:任何类型与 String (字符串)相加(+)时,实为拼接,其结果自动提升为 String
String str = "abc" ; String result = num1 + num2 + str; System.out.println(result); //此时输出为 从左到右 先将num1,num2作相加运算,然后再拼接 str
-
-