和C类似Java提供了丰富的快捷运算方式这些快捷运算可使代码更清爽更易录入也更易读者辨读
两种很不错的快捷运算方式是递增和递减运算符(常称作自动递增和自动递减运算符)其中递减运算符是意为减少一个单位递增运算符是++意为增加一个单位举个例子来说假设A是一个int(整数)值则表达式++A就等价于(A = A + )递增和递减运算符结果生成的是变量的值
对每种类型的运算符都有两个版本可供选用通常将其称为前缀版和后缀版前递增表示++运算符位于变量或表达式的前面而后递增表示++运算符位于变量或表达式的后面类似地前递减意味着运算符位于变量或表达式的前面而后递减意味着运算符位于变量或表达式的后面对于前递增和前递减(如++A或A)会先执行运算再生成值而对于后递增和后递减(如A++或A)会先生成值再执行运算下面是一个例子
//: AutoIncjava
// Demonstrates the ++ and operators
public class AutoInc {
public static void main(String[] args) {
int i = ;
prt(i : + i);
prt(++i : + ++i); // Preincrement
prt(i++ : + i++); // Postincrement
prt(i : + i);
prt(i : + i); // Predecrement
prt(i : + i); // Postdecrement
prt(i : + i);
}
static void prt(String s) {
Systemoutprintln(s);
}
} ///:~
该程序的输出如下
i :
++i :
i++ :
i :
i :
i :
i :
从中可以看到对于前缀形式我们在执行完运算后才得到值但对于后缀形式则是在运算执行之前就得到值它们是唯一具有副作用的运算符(除那些涉及赋值的以外)也就是说它们会改变运算对象而不仅仅是使用自己的值
递增运算符正是对C++这个名字的一种解释暗示着超载C的一步在早期的一次Java演讲中Bill Joy(始创人之一)声称Java=C++(C加加减减)意味着Java已去除了C++一些没来由折磨人的地方形成一种更精简的语言正如大家会在这本书中学到的那样Java的许多地方都得到了简化所以Java的学习比C++更容易