类型转换
强制转换
方法:(类型)变量名
数据类型是由高到低
自动转换
数据由低到高变换
int i = 128; byte b= (byte)i;//强制转换:(类型)变量名 高到低 //自动转换 由低到高 例如 double b=i; 无需声名变量类型 System.out.println(i); System.out.println(b);
注意
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
在把大容量的数据转化为低容量的时候要强制转换,反之自动转换
-
转换的时候可能会存在内存溢出的情况,或者出现精度问题
-
c操作比较大的数据的时候,注意溢出问题
-
JDK7有新特性,数字之间可以用下划线分割
-
注意字母的大小写,例如L的小写像1,建议多用大写的L
System.out.println((int)45.6);//45 System.out.println((int)-28.69f);//-28 char c = 'a'; int d = c+1; System.out.println(d);//98 System.out.println((char)d);//b }
int money = 10_0000_0000; int years = 20; int total = money*years;//-1474836480,计算的时候溢出了 long total2 = money*years;//默认是int,转换之前已经存在问题了 long total3 = money*((long)years);//√ System.out.println(total3);