スポンサーリンク
※サイト運営にサーバーは必須です※
~このサイトもエックスサーバーを使用しています~
目次
インクリメント演算子・デクリメント演算子とは
インクリメント演算子「++」は変数の値を1増やします。
例えば、以下の式は、全て変数iの値を+1します。
i = i + 1;
i += 1;
i++;
++i;
逆に、デクリメント演算子「–」は、変数の値を1減らします。
※インクリメント演算子・デクリメント演算子は単項演算子です。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace incrementoperator01 { class Program { static void Main(string[] args) { int i; i = 10; i = i + 1; Console.WriteLine(i); i = 10; i += 1; Console.WriteLine(i); i = 10; i++; Console.WriteLine(i); i = 10; ++i; Console.WriteLine(i); } } } |
実行結果は以下のようになります。
11
11
11
11
前置と後値の違い
前置インクリメント演算(++i)と後置インクリメント演算(i++)では、細かい部分で差があります。
例えば、以下のコードを実行すると、前置と後置に違いがはっきりします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace increment2 { class Program { static void Main(string[] args) { int i; Console.Write("前置インクリメントの場合:"); i = 5; Console.WriteLine(++i);//6 Console.Write("後置インクリメントの場合:"); i = 5; Console.WriteLine(i++);//5 Console.Write("前置デクリメントの場合:"); i = 5; Console.WriteLine(--i);//4 Console.Write("後置デクリメントの場合:"); i = 5; Console.WriteLine(i--);//5 } } } |
実行結果は、
前置インクリメントの場合:6
後置インクリメントの場合:5
前置デクリメントの場合:4
後置デクリメントの場合:5
前置インクリメント演算は、演算を行った後の変数の値で評価されます。
一方で、後置インクリメント演算は、先に変数の評価が行われ、その後、演算が行われます。
ただし、繰り返し文(for文)の変更ステートメント(第三項)において、結果に差はありません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace increment3 { class Program { static void Main(string[] args) { int sum; sum = 0; Console.Write("前置インクリメントの場合:"); for (int i = 0; i < 10; ++i) { sum += i; } Console.WriteLine(sum); sum = 0; Console.Write("後置インクリメントの場合:"); for (int i = 0; i < 10; i++) { sum += i; } Console.WriteLine(sum); } } } |
前置インクリメントの場合:45
後置インクリメントの場合:45
実行結果に差はありません
関連記事
~Webサイトを自分で作ってみませんか?~
Webサイトを運営するにはサーバーが必須です。
このサイトは、エックスサーバー のサーバーを使用しています。
エックスサーバーは無料で10日間お試しができます。