类型范围大的变量,不可以直接赋值给类型变量小的变量
需要进行强制类型转换:
想要完成类型范围大的变量传给类型范围小的变量需要先创建一个新的变量(类型与方法的形参类型要相同)。将类型范围大的变量前面加上(转换类型)并赋值给新的变量
eg:
byte j = (byte) i ;
注意:强行类型转换可能出现数据溢出的问题:
例如:当 int a = 10000000 ; 将a中保存的值赋给 byte b ; b就会发生溢出。
这也是为什么官方只允许类型范围小的可以自动转换为类型范围大的。这不会出现数据溢出的问题。
首位就会变成1,首位就是符号位。