Java提供了豐富的快捷運算方式。這些快捷運算可使代碼更清爽,更易錄入,也更易讀者辨讀。
兩種很不錯的快捷運算方式是遞增和遞減運算符(常稱作“自動遞增”和“自動遞減”運算符)。其中,遞減運算符是“--”,意為“減少一個單位”;遞增運算符是“++”,意為“增加一個單位”。舉個例子來說,假設A是一個int(整數(shù))值,則表達式++A就等價于(A = A + 1)。遞增和遞減運算符結果生成的是變量的值。
對每種類型的運算符,都有兩個版本可供選用;通常將其稱為“前綴版”和“后綴版”。“前遞增”表示++運算符位于變量或表達式的前面;而“后遞增”表示++運算符位于變量或表達式的后面。類似地,“前遞減”意味著--運算符位于變量或表達式的前面;而“后遞減”意味著--運算符位于變量或表達式的后面。對于前遞增和前遞減(如++A或--A),會先執(zhí)行運算,再生成值。而對于后遞增和后遞減(如A++或A--),會先生成值,再執(zhí)行運算。下面是一個例子:
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