直到今天,我还以为:
i += j;
Run Code Online (Sandbox Code Playgroud)
只是一个捷径:
i = i + j;
Run Code Online (Sandbox Code Playgroud)
但是如果我们试试这个:
int i = 5;
long j = 8;
Run Code Online (Sandbox Code Playgroud)
然后i = i + j;将不会编译但i += j;将编译正常.
这是否意味着事实上i += j;是这样的捷径
i = (type of i) (i + j)?
java casting operators variable-assignment assignment-operator
方法是:
x -= y;
Run Code Online (Sandbox Code Playgroud)
相当于:
x = x - y;
Run Code Online (Sandbox Code Playgroud) 你速记的Java算术运算符的一个例子是a += 4;用于a=a+4;
在完整参考文献Java 2中,Herbert Schildt提到"Java运行时系统比它们的等效系统更有效地实现它们"
是什么让它的实现更有效率 a=a+4;
我被告知a + = b之间存在差异; 和a = a + b; 这可能导致其中只有一个是合法的,具体取决于类型的变化.
有没有人有这样的例子?