操作符之自動遞增和遞減

自動遞增和遞減
   和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++中一些很困難而又沒有必要的東西,成爲了一種更精簡的語言。
  在這裏插入圖片描述

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