java byte 运算时会被转为int
b5 ,b6 被声明成final ,就是常量,所以被赋值给b4的时候,就是10
b1 ,b2 都是byte 在进行+运算的时候,会被提升为int 整形,然后再赋值给byte 的时候就是类型不匹配了。
可以自己强转byte。
这里强转可能会有精度损失
总结:被final修饰的变量就是常量,在赋值的时候,就已初始化好了。
b5 ,b6 被声明成final ,就是常量,所以被赋值给b4的时候,就是10
b1 ,b2 都是byte 在进行+运算的时候,会被提升为int 整形,然后再赋值给byte 的时候就是类型不匹配了。
可以自己强转byte。
这里强转可能会有精度损失
总结:被final修饰的变量就是常量,在赋值的时候,就已初始化好了。