Java中关于不同类型数据运算问题
-
如果参与运算的数据类型不同,Java会尝试将两个不同数据类型转换成统一数据类型在进行运算。
转换方法按数据长度增加的方向进行,以保证精度不降低。例如int型和long型运算时,先把int量转成long型后再进行运算。
-
char和short类型的数据在计算时会将自己转换成int类型数据再参与计算。
public static void main(String[] args) { short a = 10; char b = 'a'; //a的ASCII码为97 System.out.println(a+b);// 107 }
-
所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
-
在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型将转换为左边变量的类型。如果右边表达式的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度。
public static void main(String[] args) { int a = 10; int b = 4; int c = a / b; System.out.println(c); //2 }
-
如果有String类型数据参与加运算,Java会进行字符串拼接。
public static void main(String[] args) { int a = 10; String b = "hello"; System.out.println(a + b); //10hello }