C#プログラミング入門!初心者向け その11 ループ ①算術演算子 インクリメントとデクリメント

ビジュアルスタジオC#
Visualstudio
みつる君
みつる君

ここでは、C#のループについて学習します。ループとは、「同じ処理を複数回繰り返す」といったコードを書くことです。

①for文

②While文

の2つについて学びます。

マリさん
マリさん

ループを学習する前に、まず、算術演算子 インクリメントとデクリメントについて学びます。

算術演算子 インクリメントとデクリメント

みつる君
みつる君

インクリメントとデクリメントは、今ある値に、1を足し算する、もしくは、1を引き算するときに使います。

インクリメント

みつる君
みつる君

1を足し算するときに使います。まず、説明の為、足し算のコードを示します。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int i = 0;
            Console.WriteLine(i);
            Console.WriteLine(i = i + 1);
            Console.WriteLine(i);
        }
    }
}

みつる君
みつる君

実行結果は

実行結果

0
1
1

みつる君
みつる君

となります。コードの

9行目、変数iの初期化(=0)を指定します。

10行目、この時のiの値は、初期値の0なので、0が表示されます。

11行目、i = i + 1 とすると、i =0 + 1なので、結果としてのiは0でなく、1になり、表示は1になります。

12行目、結果、iは、1に変化します。

理解できましたでしょうか?

前置インクリメント

マリさん
マリさん

この、i=i+1; を

++i;

と単純に書くことができます。

これを、前置インクリメントといいます。

みつる君
みつる君

下記のコードは、

i = i + 1 の部分を

++i

に変更しています。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int i = 0;
            Console.WriteLine(i);
            Console.WriteLine(i++);
            Console.WriteLine(i);
        }
    }
}

みつる君
みつる君

実行結果は

実行結果

0
1
1

みつる君
みつる君

となります。コードの

9行目、変数iの初期化(=0)を指定します。

10行目、この時のiの値は、初期値の0なので、0が表示されます。

11行目、++i は i = i + 1 とほぼ同じ意味なので、表示は1になります。

12行目、結果、iは、1に変化します。

理解できましたでしょうか?

後置インクリメント

みつる君
みつる君

i++

変数の後ろ側に++を書くものを「後置インクリメント」といいます。

同じように、1足し算されますが、タイミングが異なります。

みつる君
みつる君

下記のコードは、

++i の部分を

i++

に変更しています。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int i = 0;
            Console.WriteLine(i);
            Console.WriteLine(++i);
            Console.WriteLine(i);
        }
    }
}

みつる君
みつる君

実行結果は

実行結果

0
0
1

みつる君
みつる君

となります。コードの

9行目、変数iの初期化(=0)を指定します。

10行目、この時のiの値は、初期値の0なので、0が表示されます。

11行目、++i は ここでは表示は変わらず0になります。

12行目、ここで、1加算された結果が表示されます。

理解できましたでしょうか?

デクリメント

みつる君
みつる君

1を引き算するときに使います。まず、説明の為、引き算のコードを示します。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int i = 10;
            Console.WriteLine(i);
            Console.WriteLine(i = i - 1);
            Console.WriteLine(i);
        }
    }
}

みつる君
みつる君

実行結果は

実行結果

10
9
9

みつる君
みつる君

となります。コードの

9行目、変数iの初期化(=10)を指定します。

10行目、この時のiの値は、初期値の10なので、10が表示されます。

11行目、i = i – 1 とすると、i =10 – 1なので、結果としてのiは10でなく、9になり、表示は9になります。

12行目、結果、iは、9に変化します。

理解できましたでしょうか?

前置デクリメント

マリさん
マリさん

この、i=i-1; を

–i;

と単純に書くことができます。

これを、前置デクリメントといいます。

みつる君
みつる君

下記のコードは、

i = i – 1 の部分を

–i

に変更しています。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int i = 10;
            Console.WriteLine(i);
            Console.WriteLine(--i);
            Console.WriteLine(i);
        }
    }
}

みつる君
みつる君

実行結果は

実行結果

10
9
9

みつる君
みつる君

となります。コードの

9行目、変数iの初期化(=10)を指定します。

10行目、この時のiの値は、初期値の10なので、10が表示されます。

11行目、–i は i = i – 1 とほぼ同じ意味なので、表示は9になります。

12行目、結果、iは、9に変化します。

理解できましたでしょうか?

後置デクリメント

みつる君
みつる君

i–

変数の後ろ側に–を書くものを「後置デクリメント」といいます。

同じように、1引き算されますが、タイミングが異なります。

みつる君
みつる君

下記のコードは、

–i の部分を

i–

に変更しています。

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int i = 10;
            Console.WriteLine(i);
            Console.WriteLine(i--);
            Console.WriteLine(i);
        }
    }
}

みつる君
みつる君

実行結果は

実行結果

10
10
9

みつる君
みつる君

となります。コードの

9行目、変数iの初期化(=10)を指定します。

10行目、この時のiの値は、初期値の10なので、10が表示されます。

11行目、–i は ここでは表示は変わらず10になります。

12行目、ここで、1減算された結果が表示されます。

理解できましたでしょうか?

タイトルとURLをコピーしました