Ale*_*eem 30
a += b 相当于 a = a + b
a = +b 相当于 a = b
a++并且++a两者都递增a1.不同之处在于a++返回a增量前的值,而++a返回增量后的值.
那是:
a = 10;
b = ++a; //a = 11, b = 11
a = 10;
b = a++; //a = 11, b = 10
Run Code Online (Sandbox Code Playgroud)
Pét*_*rök 17
a += b 相当于 a = a + b
a = +b 相当于 a = b
a++是后缀增量,++a是前缀增量.它们在独立语句中使用时没有区别,但是它们的评估结果不同:a++返回a 之前递增的值,而++a 之后.即
int a = 1;
int b = a++; // result: b == 1, a == 2
int c = ++a; // result: c == 3, a == 3
Run Code Online (Sandbox Code Playgroud)
其他人已经涵盖了大多数问题的答案.但是,他们对你的第二个例子略有不解.
a = +b分配的值+b来a."一元加"是数字类型的无操作,但对其他类型的对象有编译时错误(例如,您不能将其与字符串一起使用).它主要是为了您可以+在需要时使用前导符号编写数字.这绝不是必要的,但在某些情况下可以提高可读性.