Java提供了丰富的快捷运算方式。这些快捷运算可使代码更清爽,更易录入,也更易读者辨读。
两种很不错的快捷运算方式是递增和递减运算符(常称作“自动递增”和“自动递减”运算符)。其中,递减运算符是“--”,意为“减少一个单位”;递增运算符是“++”,意为“增加一个单位”。举个例子来说,假设A是一个int(整数)值,则表达式++A就等价于(A = A + 1)。递增和递减运算符结果生成的是变量的值。
对每种类型的运算符,都有两个版本可供选用;通常将其称为“前缀版”和“后缀版”。“前递增”表示++运算符位于变量或表达式的前面;而“后递增”表示++运算符位于变量或表达式的后面。类似地,“前递减”意味着--运算符位于变量或表达式的前面;而“后递减”意味着--运算符位于变量或表达式的后面。对于前递增和前递减(如++A或--A),会先执行运算,再生成值。而对于后递增和后递减(如A++或A--),会先生成值,再执行运算。下面是一个例子:
public class AutoInc {
public static void main(String[] args) {
int i = 1;
prt("i : " + i); // 等同于:i=1;;;i=1;
prt("++i : " + ++i); // 等同于:i=i+1 ;;;i=2;
prt("i++ : " + i++); // 等同于:i=i,但是运行后i的值为i=i+1;;;打印出的i为2;运行后i=3;
prt("i : " + i); // 等同于:i=i;;;i=3;
prt("--i : " + --i); // 等同于:i=i-1 ;;;i=2;
prt("i-- : " + i--); // 等同于:i=i,但是运行后i的值为i=i-1;;;打印出i为2;运行后i=1;
prt("i : " + i); // 等同于:i=i;;;i=1;
}
static void prt(String s) {
System.out.println(s);
}
}
输出的结果为::
i : 1
++i : 2
i++ : 2
i : 3
--i : 2
i-- : 2
i : 1