カテゴリ: VB.NET 更新日: 2025/10/31

VB.NETの制御構造とは?初心者でもわかる条件分岐と繰り返しの基本を完全解説!

VB.NETの制御構造とは?初心者向けに基本をまとめて解説
VB.NETの制御構造とは?初心者向けに基本をまとめて解説

先生と生徒の会話形式で理解しよう

生徒

「先生、VB.NETでプログラムの流れを制御する方法ってありますか?」

先生

「いい質問ですね。VB.NETでは『制御構造(せいぎょこうぞう)』という仕組みを使って、プログラムの流れを自由に変えることができます。」

生徒

「制御構造って難しそうですね…。どんなものなんですか?」

先生

「大丈夫ですよ。制御構造は大きく分けて『条件分岐』と『繰り返し』の2種類しかありません。今日はこの2つの基本をゆっくり学びましょう。」

1. VB.NETの制御構造とは?

1. VB.NETの制御構造とは?
1. VB.NETの制御構造とは?

VB.NETの制御構造(control flow)とは、プログラムの実行の流れを制御する仕組みのことです。普段、私たちは「もし雨なら傘を持つ」「暑ければクーラーをつける」など、条件によって行動を変えていますよね。プログラムでも同じように、条件に応じて動きを変えたり、同じ処理を繰り返したりすることができます。

制御構造は、主に次の3つに分けられます。

  • 順次処理:上から順番に命令を実行する。
  • 分岐処理:条件によって実行する処理を変える(If文やSelect Case)。
  • 繰り返し処理:同じ処理を何度も行う(For文やWhile文)。

2. 条件分岐(If文・ElseIf文・Else文)

2. 条件分岐(If文・ElseIf文・Else文)
2. 条件分岐(If文・ElseIf文・Else文)

まずはVB.NETのIf文を使った条件分岐を見てみましょう。条件分岐とは、「もし〇〇なら△△する」というように、条件によって処理を変える構文(こうぶん)のことです。

たとえば「点数が60点以上なら合格、そうでなければ不合格」といった処理を作ることができます。


Dim score As Integer = 75

If score >= 60 Then
    Console.WriteLine("合格です!")
Else
    Console.WriteLine("不合格です…")
End If

上の例では、変数scoreが60以上なら「合格です!」と表示し、それ以外なら「不合格です…」と表示します。


合格です!

ElseIfを使うと、条件をさらに細かく分けることができます。


Dim score As Integer = 85

If score >= 90 Then
    Console.WriteLine("とてもよくできました!")
ElseIf score >= 60 Then
    Console.WriteLine("合格です!")
Else
    Console.WriteLine("不合格です…")
End If

合格です!

このようにIfElseIfElseを使い分けることで、複数の条件に応じた処理を実行できます。

3. Select Case文(複数の条件を簡単に書ける)

3. Select Case文(複数の条件を簡単に書ける)
3. Select Case文(複数の条件を簡単に書ける)

もし条件がたくさんある場合、Ifを何度も書くと読みづらくなります。そんなときに便利なのがSelect Case文です。

たとえば、点数に応じて評価を表示するプログラムは次のように書けます。


Dim score As Integer = 80

Select Case score
    Case Is >= 90
        Console.WriteLine("Aランク")
    Case Is >= 70
        Console.WriteLine("Bランク")
    Case Is >= 50
        Console.WriteLine("Cランク")
    Case Else
        Console.WriteLine("Dランク")
End Select

Bランク

Select Caseは「条件が多いとき」にとても読みやすくなるので、VB.NETでよく使われる構文です。

4. 繰り返し処理(For文・While文)

4. 繰り返し処理(For文・While文)
4. 繰り返し処理(For文・While文)

次に、同じ処理を何度も繰り返す繰り返し処理について学びましょう。例えば、「1から5までの数字を順番に表示したい」ときに使えます。

4-1. For文の基本

For文は「決まった回数だけ繰り返す」ときに使います。


For i As Integer = 1 To 5
    Console.WriteLine(i)
Next

1
2
3
4
5

For i As Integer = 1 To 5は、「変数iを1から5まで1ずつ増やしながら繰り返す」という意味です。

4-2. While文の基本

While文は、「条件が真(True)の間、ずっと繰り返す」構文です。回数が決まっていないときに使います。


Dim i As Integer = 1

While i <= 3
    Console.WriteLine("こんにちは!")
    i += 1
End While

こんにちは!
こんにちは!
こんにちは!

i += 1は「iに1を足す」という意味です。これをしないと、永遠に繰り返してしまうので注意しましょう。

5. ネスト(入れ子)した制御構造

5. ネスト(入れ子)した制御構造
5. ネスト(入れ子)した制御構造

VB.NETでは、制御構造の中にさらに制御構造を書くこともできます。これを「ネスト」と呼びます。例えば、For文の中にIf文を入れて、偶数だけを表示することも可能です。


For i As Integer = 1 To 5
    If i Mod 2 = 0 Then
        Console.WriteLine(i & " は偶数です")
    End If
Next

2 は偶数です
4 は偶数です

このように、条件分岐と繰り返しを組み合わせることで、より複雑な処理をシンプルに書くことができます。

6. VB.NETの制御構造を使うコツ

6. VB.NETの制御構造を使うコツ
6. VB.NETの制御構造を使うコツ

制御構造を使うときのコツは、「プログラムの流れを日本語で考える」ことです。いきなりコードを書くのではなく、「もし○○なら」「~の間くりかえす」といった言葉で考えると理解が深まります。

  • 条件を「Yes/No」で答えられるように整理する
  • 繰り返しには「いつ終わるのか」の条件を決める
  • インデント(字下げ)をそろえて読みやすくする

こうしたポイントを意識するだけで、VB.NETの制御構造はぐっと分かりやすくなります。

カテゴリの一覧へ
新着記事
New1
VB.NET
VB.NETの例外処理とUsingステートメントを徹底解説!エラーに強いプログラム作り
New2
ASP.NET
ASP.NET WebFormsカスタムコントロール作成ガイド!自作部品で開発を効率化
New3
VB.NET
VB.NETでStaticメソッドを定義する方法と活用例
New4
ASP.NET
ASP.NET WebFormsでユーザー認証を実装する方法!ログイン機能の基本
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETの配列(Array)の作り方と基本操作を徹底解説!初心者でもわかる入門ガイド
No.2
Java&Spring記事人気No2
VB.NET
VB.NETのBoolean型(True/False)の使い方と条件分岐での活用方法を徹底解説!初心者でも理解できる基本
No.3
Java&Spring記事人気No3
VB.NET
VB.NETのIf文の使い方と条件分岐を完全ガイド!初心者でもわかる基本構文と実例
No.4
Java&Spring記事人気No4
VB.NET
VB.NETプログラムの実行方法まとめ!Visual Studio・コマンドラインの使い方
No.5
Java&Spring記事人気No5
ASP.NET
ASP.NET MVCでビュー(Razor)を使った画面表示の基本を初心者向けに解説
No.6
Java&Spring記事人気No6
VB.NET
VB.NETのコンストラクタと初期化処理の書き方を初心者向けに解説
No.7
Java&Spring記事人気No7
ASP.NET
ASP.NET WebFormsのGridViewでデータ表示を完全マスター!初心者向けガイド
No.8
Java&Spring記事人気No8
VB.NET
VB.NETで例外メッセージを取得してログに残す方法を完全解説!初心者向け例外処理入門