程序员都知道加1、减1是数值变量最常见的操作。在java中,借鉴了C和C++的做法,也提供了自增、自减运算符:n++将变量n的当前值加1,n--则将n的值减1。例如,以下代码:
int n = 12;
n++;
将n的值改为13。由于这些运算符会改变变量的值,所以它们的操作数不能是数值。例如:
4++就不是一个合法的语句。
实际上,这种运算符有两种形式;上面介绍的是运算符放在操作数后面的“后缀”形式。还有一种“前缀”形式:++n。后缀和前缀形式都会使变量值加1或减1。但用在表达式中时,而这就有区别了。前缀形式会先完成加1;而后缀形式会使用变量原来的值。
int m = 7;
int n = 7;
int a = 2 * ++m; //now a is 16,m is 8
int b = 2 * n++; //now b is 14,n is 8
建议不要在表达式中使用++,因为这样的代码很容易让人困惑,而且会带来烦人的bug。