【変数から段階的に学習 第2回】
変数から段階的に学習:第1回|第2回(今ここ)|第3回|[目次へ]
第1回の復習
前回は、プログラムは実行して初めて動くこと、Main がスタート地点であることを学びました。
今回は、Main の中がどう動くかを見ていきます。
プログラムは上から順に実行される
Main の中では、プログラムが上から順番に実行されます。
多くの人は
- プログラムがどの順番で読まれるか
- CPUがどのように実行するか
を知らないため混乱します。ここを押さえると、デバッグや動作の理解が楽になります。
ブロックの中は上から下、ブロックの並び順も重要
プログラムでは { }(波かっこ)で囲まれた範囲をブロックと呼びます。
例えば Main の { } の中、if や for の { } の中も、それぞれブロックです。
大切なルールは2つです。
- ブロックの中:上から下へ、1行ずつ実行される
- ブロックの並び順:上に書いたブロックが先に、下に書いたブロックが後に実行される
つまり、どこに書いたか(上下の位置)が、そのまま実行の順番になります。
同じメソッド内では、例えばこうなります。
static void Main(string[] args)
{
int score = 80;
if (score >= 60) { Console.WriteLine("合格"); } // 上 → 先に評価・実行
if (score >= 80) { Console.WriteLine("優秀"); } // 下 → 後に評価・実行
}
実行結果は「合格」「優秀」の順で表示されます。上に書いた if ブロックが先、下に書いた if ブロックが後です。
補足:名前空間、クラス、メソッドの定義も
{ }で囲まれますが、ここでいう「並び順=実行順序」は、Main の中や if/for の中など、実際に実行される部分に当てはまります。メソッドは「呼ばれたとき」に実行されるので、定義の上下は実行順序に影響しません。例えば、メソッドを上に書いても下に書いても、呼び出しの順番で実行されます。
static void SayA() { Console.WriteLine("A"); } // 上に書いても static void SayB() { Console.WriteLine("B"); } // 下に書いても static void Main(string[] args) { SayB(); // 先に呼ぶ → B が先に表示される SayA(); // 後に呼ぶ → A が後に表示される }
イメージ:読書のように上から下へ
本を読むとき、上から下へ、左から右へ進みます。プログラムも同じです。
1行目 ← ここから
2行目
3行目
4行目 ← ここまで順番に
具体例で確認する
static void Main(string[] args)
{
string name = "山田"; // ① まずここが実行される
Console.WriteLine(name); // ② 次にここが実行される
}
実行の流れはこうなります。
① name に "山田" を入れる
↓
② name の中身を表示する
順番を変えるとどうなるか
static void Main(string[] args)
{
Console.WriteLine(name); // ① ここを先に実行しようとする
string name = "山田"; // ② その後に name を作る
}
この順番だとエラーになります。
理由は、①の時点ではまだ name が存在しないからです。プログラムは上から順に実行されるため、使う前に作る必要があります。
図解:プログラムの流れ
プログラム開始
↓
Main の { の直後
↓
1行目を実行
↓
2行目を実行
↓
3行目を実行
↓
...
↓
} に到達 → Main 終了
↓
プログラム終了
if や for がある場合
if や for があると、実行される行が変わります。
static void Main(string[] args)
{
int score = 80; // ① 実行
if (score >= 60) // ② 実行(条件チェック)
{
Console.WriteLine("合格"); // ③ 条件が true なら実行
}
Console.WriteLine("終了"); // ④ 必ず実行
}
流れは次のとおりです。
① score に 80 を入れる
↓
② score >= 60 をチェック → true
↓
③ 「合格」を表示(if の中に入る)
↓
④ 「終了」を表示
ここが理解できると
- デバッグ:どの行で問題が起きているか追いやすくなる
- 変数のスコープ:どこで作った変数がどこまで使えるか分かる
- Main の中の動き:第1回で学んだ Main の中で、上から順に実行されることが分かる
まとめ
| ポイント | 説明 |
|---|---|
| 実行順序 | 上から下へ、1行ずつ |
| ブロック | ブロックの中は上から下。並び順も上下で決まる |
| 開始地点 | Main の { の直後(第1回で学んだ Main) |
| 重要ルール | 使う前に作る(変数は宣言してから使う) |
次回
次回は「プログラムは情報整理の歴史」です。変数・配列・クラス・List が、なぜ次々と登場するのかを「生徒名簿」の例で学びます。




ディスカッション
コメント一覧
まだ、コメントがありません