【c#】i++ 和 ++i 的區別

你是否遇到過分不清 i++ 和 ++i 有什麼區別?i-- 和 --i 又有什麼區別?
那麼 very good,本篇博客將就此問題,通過幾個簡單的例子,一舉拿下它們。

一:自增運算符

++ 是自增運算符,表示在“原來的值”的基礎上再加1,i++ 等價於 i=i+1;
自增運算符有以下兩種情況。

1:i++

例:1:

i=1;
j=i++;

問:這行代碼運行後,i 和 j 的輸出結果分別是什麼?

不懂什麼意思?沒關係,我們換一種等價的方式來問

i=1;
j=i;
i=i+1;

這時如果再問你運行後 i 和 j 的輸出結果,你應該能很快答上來了吧。

沒錯,i++ 指的是使用 i 之後,再讓 i 的值加上 1。

因此,例1 最後的輸出結果是: i=2,j=1;

2:++i

例2:

i=1;
j=++i;

問:這行代碼運行後,i 和 j 的輸出結果分別是什麼?

同樣的,我們換一種等價的方式來問,如下代碼所示:

i=1;
i=i+1;
j=i;

顯然,++i 指的是在使用 i 之前,先讓 i 的值加上 1。

因此,例2 最後的輸出結果是:i=2;j=2;

3:巧記 i++ 和 ++i

++ 在 i 的左邊(前面),就是先使用 i=i+1,而後使用 j=i ;
++ 在 i 的右邊(後面),就是後使用 i=i+1,而先使用 j=i ;
i=i+1 的使用位置,是根據 ++ 的使用位置來決定的。

二:自減運算符

– 是自減運算符,表示在“原來的值”的基礎上再減去1,i–等價於i=i-1,自減運算符同樣也有以下兩種情況。

1:i- -

例3:

i=1;
j=i--;

問:這行代碼運行後,i 和 j 的輸出結果分別是什麼?

不懂什麼意思?沒關係,我們換一種等價的方式來問

i=1;
j=i;
i=i-1;

沒錯,i- - 指的是使用 i 之後,再讓 i 的值減去 1。

因此,例3 最後的輸出結果是: i=0,j=1;

2:- -i

例4:

i=1;
j=--i;

問:這行代碼運行後,i 和 j 的輸出結果分別是什麼?

同樣的,我們換一種等價的方式來問,如下代碼所示:

i=1;
i=i-1;
j=i;

顯然,- -i 指的是在使用 i 之前,先讓 i 的值減去 1。

因此,例4 最後的輸出結果是:i=0;j=0;

3:巧記 i- - 和 - -i

-- 在 i 的左邊(前面),就是先使用 i=i-1,而後使用 j=i ;
-- 在 i 的右邊(後面),就是後使用 i=i-1,而先使用 j=i ;
i=i-1 的使用位置,是根據 -- 的使用位置來決定的。

– 與 ++ 的使用方法是一樣的,相信通過這四個例子,你對自增運算符,自減運算符中博首提到的問題,應該不是問題了吧!

至此,自增運算符,自減運算符介紹完畢,如博文有錯誤,希望大家積極指出,讓我們共同進步,共同成長。

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