自动类型转换(隐式转换)
byte -> short -> int -> long -> float -> double
char -> int -> …
强制类型转换(显示转换)
会导致精度丢失,甚至数据溢出。
public class Demo{
public static void main(String[] args){
int money = 100;
//由于精度不会丢失,所以可以自动转换
double salary = money;
//由于精度会丢失,所以需要加上强制转换
int pay = (int) salary;
char c1 = 'A';
int i1 = c1;
System.out.println(i1);//65
int i2 = 255;
//根据ASCII编码将数字转换为字符
char c2 = (char) i2;
System.out.println(c2);
short s1 = 129;
//如果强转后的类型不足以存放之前的数据大小,会出现数据溢出的现象
byte b1 = (byte) s1;
System.out.println(b1);//-127
}
}