自动类型转换是指由低优先级数据类型向高优先级数据类型转换时,不需进行特别说明,系统自动完成转换
数据类型优先级由低到高:byte--short--char--int--long--float--double
举例:
class Test1
{
public static void main(String[] args)
{
byte b = 1;
short s = 2;
char c = 'c';
int i = 3;
long l = 4;
float f = 5.0f;
double d = 6.0;
s = b;//byte类型自动转换为short类型
System.out.println("变量b的值为: " + b);
i = c;//char类型自动转换为int类型
System.out.println("变量i的值为:" + i);
i = s;//short类型自动转换为int类型
System.out.println("变量i的值为:" + i);
l = i;//int类型自动转换为long类型
System.out.println("变量l的值为:" + l);
f = l;//long类型自动转换为float类型
System.out.println("变量f的值为:" + f);
d = f;//float类型自动转换为double类型
System.out.println("变量d的值为:" + d);
d = b;//byte类型自动转换为double类型
System.out.println("变量d的值为:" + d);
d = f + d;//加法运算,f先自动转换为double类型
System.out.println("变量d的值为:" + d);
}
}
结果为:
变量b的值为: 1
变量i的值为: 99
变量i的值为: 1
变量l的值为: 1
变量f的值为: 1.0
变量d的值为: 1.0
变量d的值为: 1.0
变量d的值为: 2.0
|
-
1.png
(114.04 KB, 下载次数: 10)
-
2.png
(23.44 KB, 下载次数: 14)
|