类型转换
强制转换类型(高到低) / 自动转换类型(低到高)
*不同类型的转换先转换为同类型在进行运算
按优先级由低到高划分为: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); } }