A:两个有区别,第一个12.345f是单精度浮点数类型的字面量,第二个赋值运算符的右边没有f的是双精度类型的字面量,即double型的,要赋值给float,这是向下的,所以要强制类型转换B:1、2、4对,虽然是int型的字面量,但是如果在byte的范围内,可以直接赋值给byte类型的变量(4是两个字面量相加,不是变量,注意区别)第三个 byte b3 = b1 + b2;错误,虽然字面量在byte范围内可以直接赋值,但是变量不行,两个byte类型参与运算会放大成int型,要在赋值给byte类型的变量,需要做类型转换。
A:两个有区别,第一个12.345f是单精度浮点数类型的字面量,第二个赋值运算符的右边没有f的是双精度类型的字面量,即double型的,要赋值给float,这是向下的,所以要强制类型转换
B:1、2、4对,虽然是int型的字面量,但是如果在byte的范围内,可以直接赋值给byte类型的变量(4是两个字面量相加,不是变量,注意区别)
第三个 byte b3 = b1 + b2;错误,虽然字面量在byte范围内可以直接赋值,但是变量不行,两个byte类型参与运算会放大成int型,要在赋值给byte类型的变量,需要做类型转换。