Day7-24.Auto increment and decrement

自動增遞和遞減

c類似,java提供了大量的快捷運算。

這些快捷運算使編碼更方便,同時也使得代碼更容易閱讀,但是有時可能使代碼閱讀起來更困難。

遞增和遞減運算是兩種相當不錯的快捷運算(常稱爲“自動遞增”和“自動遞減”運算)。其中,遞減操作符是”—”,意爲“減少一個單位”;遞增操作符是“++”,意爲“增加一個單位”。舉個例子來說,假設a是一個int(整數)值,則表達式++a就等價於(a=a+1)。遞增和遞減操作符不僅改變變量,並且以變量的值作爲生成的結果。

這兩個操作符各有兩種使用方式,通常稱爲“前綴式”和“後綴式”。“前綴遞增”表示“++”操作符位於變量或表達式的前面;“後綴遞增”表示“++”操作符位於變量或表達式的後面。類似的,“前綴遞減”和”後綴遞減“。對於前綴遞增和前綴遞減(如++a或—a),會先執行運算,再生成值。而對於後綴遞增和後綴遞減(如a++或a—),會先生成值。再執行運算,下面是一個例子

//:operators/AutoInc.java
//Demonstrates the ++ and — operators
import static net.mindview.util.Print.*;

public class AutoInc{
	public static void main(String[] args){
		int i=1;
		print(“i :”+i);
		print(“++i :” + ++i);//Pre-increment
		print(“i++:”+ i++);//Post-increment
		print(“i :”+i);
		print(“—i :”+ —i);//Pre-decrement
		print(“i— :”+ i—);//Post-decrement
		print(“i :”+i);
	}
}/*Output
i:1
++i:2
i++:2
i:3
—i:2
i—:2
i:1
*///:~


從中可以看到,對於前綴形式,我們在執行完運算後纔得到值。

但對於後綴形式,則是在運算執行之前就得到值。

它們是除那些設計賦值的操作符以外,唯一具有”副作用“的操作符。

也就是說,它們會改變操作數,而不僅僅是使用自己的值。

遞增操作符正式對C++這個名字的一種解釋,暗示”超越C一步“。

在早期的一次關於Java的演講中,Bill Joy Java創始人之一 聲稱”Java=C++—“意味着Java已去除了C++中一些很困難而又沒必要的東西,成爲了一種更精簡的語言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章