优先级:从低到高
byte,short,char -->int -->long -->float -->double
注意点:
- 低转高 直接转
- 高转低 (类型)变量名
- 注意变量转换时的溢出问题,精度问题
- 不能对布尔值进行转换
- 不能将对象转换为不相干的类型
代码示例:
int i1 = 128;
int i2 = 16;
byte b1 = (byte)i1;
byte b2 = (byte)i2;
System.out.println(b1);//-128 溢出了
System.out.println(b2);//16
char c = 'A';
int i3 = c;
System.out.println(i3);//65
//jdk7新特性:数字之间可以用下划线分割
int money = 20_0000_0000;
int year = 10;
int total = money*year;
long total1 = money*year;
long total2 = (long)money*year;
System.out.println(total);//-1474836480 溢出
System.out.println(total1);//-1474836480
System.out.println(total2);//20000000000