C# | 1 日 60 分 × 7 日アプリ学習:超初級編

Web APP C#
スポンサーリンク

4日目のゴール

4日目のテーマは
「C# で“同じ処理を何回も繰り返す”感覚をつかむこと」 です。

ここまでで、
値を覚える(変数)
計算する
条件で分ける(if)
はできるようになりました。

今日はそこに、
「同じことを何度もやるなら、まとめて書こう」
という考え方=ループ(繰り返し)を足します。


「繰り返し」がないとどうなるか

まずは“繰り返しナシ”のコードを見てみる

例えば、「1 から 5 までの数字を表示したい」とします。
繰り返しを知らないと、こう書くしかありません。

using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(1);
        Console.WriteLine(2);
        Console.WriteLine(3);
        Console.WriteLine(4);
        Console.WriteLine(5);
    }
}
C#

動きとしては正しいですが、
「6 までにしたい」「10 までにしたい」と思った瞬間、
全部書き直しになります。

「同じパターンを何度も書いている」
こういうときにこそ、ループの出番です。


for 文の基本形を覚える

「回数が決まっている繰り返し」に向いている

C# の for 文は、こんな形をしています。

for (初期化; 条件; 更新)
{
    // 繰り返したい処理
}
C#

さっきの「1 から 5 まで表示」を for で書くと、こうなります。

using System;

class Program
{
    static void Main(string[] args)
    {
        for (int i = 1; i <= 5; i++)
        {
            Console.WriteLine(i);
        }
    }
}
C#

ここをじっくり分解します。

int i = 1;
… 繰り返し用の変数 i を 1 でスタートさせる(初期化)

i <= 5;
… 「i が 5 以下のあいだは繰り返す」という条件

i++
… 1 回まわるごとに i を 1 増やす(更新)

中の Console.WriteLine(i); は、
「今の i の値を表示する」という処理です。

流れとしては、

i = 1 でスタート
条件(1 <= 5)は true → 中身を実行 → i++ で i は 2
条件(2 <= 5)は true → 中身 → i は 3
条件(3 <= 5)は true → 中身 → i は 4
条件(4 <= 5)は true → 中身 → i は 5
条件(5 <= 5)は true → 中身 → i は 6
条件(6 <= 5)は false → 繰り返し終了

という感じで進みます。


for 文で「合計」を計算してみる

1 から 10 までの合計を求める

for 文の良さが分かりやすい例として、
「1 から 10 までの合計」を計算してみます。

using System;

class Program
{
    static void Main(string[] args)
    {
        int sum = 0;

        for (int i = 1; i <= 10; i++)
        {
            sum = sum + i;
        }

        Console.WriteLine("1 から 10 までの合計は " + sum + " です");
    }
}
C#

ここでのポイントは二つです。

int sum = 0; で「合計を入れておく箱」を用意している
for の中で sum = sum + i; として、i をどんどん足している

ループの中で何が起きているかを追ってみると、

最初:sum = 0
i = 1 のとき:sum = 0 + 1 → 1
i = 2 のとき:sum = 1 + 2 → 3
i = 3 のとき:sum = 3 + 3 → 6

i = 10 のとき:sum は最終的に 55

というふうに、少しずつ合計が増えていきます。

「ループの外に置いた変数(sum)が、ループの中で育っていく」
この感覚は、今後あらゆる場面で使います。


while 文で「条件が続く限り」繰り返す

while の基本形

while 文は、こういう形です。

while (条件)
{
    // 条件が true のあいだ、ずっと繰り返す
}
C#

例えば、「count が 5 未満のあいだ、count を表示して増やす」ならこうです。

using System;

class Program
{
    static void Main(string[] args)
    {
        int count = 0;

        while (count < 5)
        {
            Console.WriteLine("count = " + count);
            count++;
        }

        Console.WriteLine("ループ終了後の count = " + count);
    }
}
C#

流れはこうです。

最初:count = 0
条件(0 < 5)は true → 中身を実行 → count++ で 1
条件(1 < 5)は true → 中身 → count は 2
条件(2 < 5)は true → 中身 → count は 3
条件(3 < 5)は true → 中身 → count は 4
条件(4 < 5)は true → 中身 → count は 5
条件(5 < 5)は false → ループ終了

for と違うのは、
「回数」ではなく「条件」を中心に書くところです。


for と while の使い分けイメージ

回数が決まっているなら for、条件ベースなら while

ざっくりしたイメージとしては、

「1 から 10 まで」「5 回だけ」など、
回数がはっきりしているときは for が書きやすい。

「ある条件が続く限り」「終わる条件がいつ来るか分からない」
というときは while が向いています。

超初級のうちは、
「まずは for に慣れる」「while は“条件で回す”ときに使う」
くらいの感覚で十分です。


簡単な「カウントダウン」アプリを作る

5 から 1 までカウントダウンして「スタート!」

for 文を使って、カウントダウンをしてみます。

using System;

class Program
{
    static void Main(string[] args)
    {
        for (int i = 5; i >= 1; i--)
        {
            Console.WriteLine(i);
        }

        Console.WriteLine("スタート!");
    }
}
C#

ここでのポイントは、for の「更新」の部分です。

int i = 5; で 5 からスタート
i >= 1; で「1 以上のあいだは繰り返す」
i-- で「1 回ごとに 1 減らす」

i++ が「1 増やす」だったのに対して、
i-- は「1 減らす」です。


ネスト(入れ子)の for 文をチラ見してみる

2 重ループで「九九の一部」を表示

少しだけ背伸びして、
「for の中に for を書く」パターンも見てみます。

using System;

class Program
{
    static void Main(string[] args)
    {
        for (int i = 1; i <= 3; i++)
        {
            for (int j = 1; j <= 3; j++)
            {
                int result = i * j;
                Console.WriteLine(i + " × " + j + " = " + result);
            }
        }
    }
}
C#

これは、「1〜3 の九九」を全部表示するコードです。

外側の for で i が 1, 2, 3 と変わり、
内側の for で j が 1, 2, 3 と変わる。

i = 1 のとき、j は 1, 2, 3
i = 2 のとき、j は 1, 2, 3
i = 3 のとき、j は 1, 2, 3

というふうに、組み合わせが全部試されます。

今は「こういうこともできるんだな」くらいでOKです。
本格的に使うのは、もう少し先で大丈夫です。


4日目のミニアプリ:1週間の勉強時間を合計する

配列をまだ使わずに「ループ+合計」だけでやってみる

今日はまだ配列は出さず、
「ループと合計」の組み合わせだけでミニアプリを作ります。

「1 日目〜7 日目の勉強時間(分)が決まっている」として、
その合計を出すプログラムです。

using System;

class Program
{
    static void Main(string[] args)
    {
        int day1 = 30;
        int day2 = 45;
        int day3 = 20;
        int day4 = 60;
        int day5 = 0;
        int day6 = 50;
        int day7 = 40;

        int total = 0;

        total = total + day1;
        total = total + day2;
        total = total + day3;
        total = total + day4;
        total = total + day5;
        total = total + day6;
        total = total + day7;

        Console.WriteLine("1週間の合計勉強時間は " + total + " 分です");
    }
}
C#

ここまでは「繰り返しナシ」の書き方です。
これを for で書き直すには、
本当は配列があるときれいに書けますが、
4日目では「繰り返しの感覚」を優先して、
まずは「同じパターンを何度も書いている」ことに気づければ十分です。


4日目で絶対に押さえておきたいポイント

for と while の“形”を覚える

for 文の基本形:

for (初期化; 条件; 更新)
{
    // 繰り返したい処理
}
C#

while 文の基本形:

while (条件)
{
    // 条件が true のあいだ繰り返す
}
C#

そして、ループの中では、

「ループの外にある変数(sum, count など)を少しずつ変えていく」
というパターンがとてもよく出てきます。

sum = sum + i;
count++;

この2つは、今日の主役と言っていいくらい重要です。


もし余裕があればやってみてほしいこと

自分の「腕立て伏せカウンター」を作る

例えば、

1 回目〜10 回目まで「◯回目!」と表示する
最後に「おつかれさまでした!」と出す

というプログラムを for で書いてみてください。

for (int i = 1; i <= 10; i++) の中で、
Console.WriteLine(i + " 回目!"); とするだけで作れます。


4日目のまとめ

1日目:表示
2日目:計算
3日目:条件分岐
4日目:繰り返し(ループ)

これで、C# の「基本の動き」はほぼ一周しました。

値を覚える
計算する
条件で分ける
何回も繰り返す

この4つが組み合わさると、
かなりいろいろなことができるようになります。

次のステップでは、
「関連する値をまとめて扱う(配列)」や
「処理をまとめる(メソッド)」に進んでいきますが、
その土台は、今日までに積み上げたこの4つです。

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