强制转换类型(高到低) / 自动转换类型(低到高)
*不同类型的转换先转换为同类型在进行运算
按优先级由低到高划分为:byte short char------int-----long-----float------double
public class java1 {
public static void main(String[] args) {
int a=128;
byte b =(byte) a;
System.out.println(b); //高转低 =-128
}
}
注意点:1.不能对布尔值进行转换
2.不能对象类型转换为不相干的类型
3.高到低转换为强制转换
4.转换过程中可能存在内容溢出/精度问题
public class java1 {
public static void main(String[] args) {
System.out.println((int) 23.6); //低转高 =23
System.out.println((int)222.222F); //低转高=222
}
}
public class java1 { //字符与数字的转换
public static void main(String[] args) {
char b = 'a'; //a=97 字符的本质是数字
int c = b+1;
System.out.println(c);
System.out.println((char)c); //b=98
}
}
public class java1 { //对象类型的运算
public static void main(String[] args) {
int num1=10_0000_0000; //数字之间可以用下划线分割
int num2=20;
long num4=num1*num2; //计算已经溢出
long num4=num1*((long)num2); //计算正确=20000000000
System.out.println(num4);
}
}