类型间的转换
数据类型由小到大依次为:byte,short,char,int,long,float,double
两种方式:
-
自动/隐式类型转换:小类型到大类型
-
强制类型转换:大类型到小类型
语法:(要转换成为的数据类型)变量
注意:强转有可能溢出或丢失精度
int a = 5; long b = a; //自动类型转换 int c = (int)b; //强制类型转换 long d = 5; //自动类型转换 double e = 5; //自动类型转换 //练习-----------4:41继续 long f = 10000000000L; int g = (int)f; System.out.println(g); //1410065408,强转有可能发生溢出 double h = 25.987; int i = (int)h; System.out.println(i); //25,强转有可能丢失精度
两点规则:
-
整数直接量可以直接给byte,short,char赋值,但不能超范围
-
byte,short,char型数据参与运算时,系统会自动将其统一转换为int再运算
byte b1 = 5; byte b2 = 6; byte b3 = (byte)(b1+b2); System.out.println(2+2); //4 System.out.println(2+'2'); //52,2加上'2'的码50 System.out.println('2'+'2'); //100,'2'的码50,加上,'2'的码50 System.out.println('2'); //2,只有运算时才会转换为int类型