强制类型转换
类型范围大的数据或者变量,不能直接赋值给类型单位小的变量,会报错
强制类型转换
可以强行将类型范围大的变量或者数据赋值给类型范围小的变量或者数据
语法
数据类型 变量名2 = (数据类型) 变量名1
强制类型转换的底层原理
实际上就是变量范围大的变量的二进制直接赋值给变量范围小变量的二进制
比如
当范围大的数据没有超过范围小的数据的取值范围
int a = 20; 他的范围为32为 00000000 00000000 00000000 00010100
byte b = (byte)a; 他的范围为8位 所以取八位 00010100
b = 20
当范围大的数据超过了范围小的数据的取值范围
int i = 1500; 他的范围为32位 00000000 00000000 00000101 11011100
byte j = (byte)i; 他的范围为8位 11011100
由于首位是符号位 所以 j = - 36
注意事项
强制类型转换可能会造成数据溢出(丢失)
浮点型转成整型,直接去除小数部分,保留整数部分返回