当对short/char/byte赋值数字时,
如:byte b = 30;
右侧30默认为int赋值给byte类型的变量b,但是只要右侧没有超过左侧段类型超出的表示范围,编译器默认进行强转换,所以byte b = 30可以通编译。反之 byte b2 = 300则会报错,需要强制转换 byte b2 = (byte)300;
当对short/char/byte赋值数字时,
如:byte b = 30;
右侧30默认为int赋值给byte类型的变量b,但是只要右侧没有超过左侧段类型超出的表示范围,编译器默认进行强转换,所以byte b = 30可以通编译。反之 byte b2 = 300则会报错,需要强制转换 byte b2 = (byte)300;