スポンサーリンク
※サイト運営にサーバーは必須です※
 ~このサイトもエックスサーバー
を使用しています~
   
![]()
目次
インクリメント演算子・デクリメント演算子とは
インクリメント演算子「++」は変数の値を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
実行結果に差はありません
関連記事
~プログラミングを勉強してみませんか?~
TechAcademy [テックアカデミー] 
 は無料の体験講座が用意されているので、気軽に体験できます。
※私(サイト主)も無料体験講座を実際に受けてみました(→感想)
 
 
