3 个回答

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

A: 第一个正确

第二个暗含double->float 转换

B: 一二正确,三 错误,byte 右边不能出现变量,四 int->byte

倒数第二句,因为等号右边两个byte的变量,想加是有可能超出byte范围的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题