天天看點

JAVA i++ i-- 與 ++i --i的差別

/**
	JAVA運算符之i++ i-- ++i --i的運算
**/

class Demo5{
	public static void  main(String[] args){
		int i = 100;
		i++;				//此時,這裡的值為101
		System.out.println("i = 100;i++單獨執行的值為:"+i);
		
		int i1 = 100;
		System.out.println("i1 = 100;i++與其它代碼作為一段代碼取的值為:"+i1++);
		System.out.println("這句代碼的功能與上一句的功能相同:"+(i1++));
		System.out.println();
		/*
			上面代碼輸出語句得出的值為100的原因:
				i++如果與其它代碼一起進行執行,就會先執行i = 100;并将此句代碼全部執行完後,才會内部再執行一次i1 = i1 + 1;
				可分解為:
					int i1 = 100;
					System.out.println("i1 = 100;i++與其它代碼作為一段代碼取的值為:"+i1);
					i1 = i1 + 1;
		*/
		
		i--;				//此時,這裡的值為100
		System.out.println("i = 100;i--單獨執行的值為:"+i);
		
		int i2 = 100;
		System.out.println("i2 = 100;i++與其它代碼作為一段代碼取的值為:"+i2--);
		System.out.println("這句代碼的功能與上一句的功能相同:"+(i2--));
		/*
			上面代碼輸出語句得出的值為100的原因:
				i--如果與其它代碼一起進行執行,就會先執行i = 100;并将此句代碼全部執行完後,才會内部再執行一次i1 = i1 - 1;
				可分解為:
					int i2 = 100;
					System.out.println("i2 = 100;i--與其它代碼作為一段代碼取的值為:"+i2);
					i1 = i2 - 1;
		*/
		
		//==================================================================================================
		int i3 = 200;
		++i3;
		System.out.println("i3的值 為:"+i3);
		
		i3 = 300;
		System.out.println("這時的值 為:"+(++i3));
		//在這裡,++i3要使用括号括起來,否則,編譯出錯。上面語句得出的結果是301,說明++i3是先執行再使用的
		
		/*
		分解開如下:
					int i3 = 300;
					i3 = i3 +1;
					System.out.println("這時的值 為:"+i3);
		*/
           
/**
			++i  --i與i++ i--的差別:
				++i  --i是先進行計算再去使用
				i++  i--是先使用以後再進行運算,這是他們本質的差別
		
		**/
	}
}