我经常使用两种形式:java中的short和long(也是减法,乘法等)运算符.而且我认为这不会影响性能或速度,但我对这些问题感到困惑:"为什么java创建者提供了这种运算符的两种形式?它们之间有什么区别?" 那么,两种形式之间的真正区别是什么:
int a = 10, b = 3;
b = b + a;
Run Code Online (Sandbox Code Playgroud)
和
int a = 10, b = 3;
b += a;
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下吗?可能两种形式之间的差异隐藏在较低的水平?每本书都只说:"Java也有复合算子......"但没有关于差异的说法.
请考虑以下代码:
int x = 9;
short s = 2;
s = s+x; // Compiler error
s += x; // Compiles
Run Code Online (Sandbox Code Playgroud)
所以,基本上当你说:s += x这意味着s = (short)(s+x).而当你使用s = s+x,编译器会抱怨,因为,它不能施放x来自int于short含蓄.因此,+=运营商负责类型转换.
| 归档时间: |
|
| 查看次数: |
226 次 |
| 最近记录: |