我现在的储蓄,当我试图编译它后尝试一些Java代码这样的数据类型字节不允许添加任何文字
class Test {
public static void main (String [] args){
byte b = 10;
b = b + 10;
}
}
,它给我一个错误
D:\java\Test.java:4: possible loss of precision
found:int required:byte b = b + 10; ^ 1错误
但是没有如果尝试这样的事情
b++;
b+=10;
这是完全正常的 是什么原因?
[why byte + = 1 compile but byte = byte + 1 not?]的可能重复(http://stackoverflow.com/questions/4969339/why-byte-1-compile-but-byte-byte-1 - 不) – axtavt 2012-04-25 07:36:19
这只是一个近似重复的这个问题。另一个问题是“什么在Java语言定义导致这种行为?”,而这个问题是“这种行为的原因是什么”,要求动机的语言定义。 – 2012-04-25 07:42:51