カテゴリ: VB.NET 更新日: 2025/12/08

VB.NETのDo Untilループの使い方と注意点!初心者向け完全ガイド

VB.NETのDo Untilループの使い方と注意点
VB.NETのDo Untilループの使い方と注意点

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

生徒

「VB.NETで条件が成り立つまで繰り返す処理ってありますか?」

先生

「はい、それがDo Untilループです。条件がTrueになるまで処理を繰り返す構造です。」

生徒

「WhileループやDo Whileループと何が違うんですか?」

先生

「大きな違いは条件の意味です。WhileやDo Whileは条件がTrueの間繰り返しますが、Do Untilは条件がFalseの間繰り返し、条件がTrueになると終了します。」

1. Do Untilループとは?

1. Do Untilループとは?
1. Do Untilループとは?

VB.NETのDo Untilループは、指定した条件がTrueになるまで繰り返す処理です。条件が最初からTrueの場合、後条件型(後で条件判定するタイプ)の場合は1回処理が実行されます。


Dim i As Integer = 1
Do Until i > 5
    Console.WriteLine(i)
    i += 1
Loop

1
2
3
4
5

この例では、iが5を超えるまで処理を繰り返します。iが6になった時点でループが終了します。

2. Do Untilループの書き方のバリエーション

2. Do Untilループの書き方のバリエーション
2. Do Untilループの書き方のバリエーション

Do Untilループには条件をループの先頭に書く方法と、ループの最後に書く方法があります。


'先条件型
Dim j As Integer = 1
Do Until j > 5
    Console.WriteLine(j)
    j += 1
Loop

'後条件型
Dim k As Integer = 1
Do
    Console.WriteLine(k)
    k += 1
Loop Until k > 5

後条件型の場合は、最低1回は処理が実行されるので、ユーザー入力などに便利です。

3. Do Untilループの便利な使い方

3. Do Untilループの便利な使い方
3. Do Untilループの便利な使い方

例えば、ユーザーが正しい入力をするまで繰り返す場合にDo Untilループが役立ちます。


Dim input As String
Do
    Console.Write("1から10までの数字を入力してください: ")
    input = Console.ReadLine()
Loop Until IsNumeric(input) AndAlso CInt(input) >= 1 AndAlso CInt(input) <= 10

この例では、ユーザーが1から10の数字を入力するまで繰り返し入力を求めます。

4. 無限ループに注意

4. 無限ループに注意
4. 無限ループに注意

Do Untilループは条件が永遠にFalseの場合、無限ループになります。無限ループになるとプログラムが停止するので、ループ内で条件が変化する処理を必ず入れる必要があります。


Dim m As Integer = 1
Do Until m > 5
    Console.WriteLine(m)
    m += 1 'これがないと無限ループになる
Loop

5. Whileループとの使い分け

5. Whileループとの使い分け
5. Whileループとの使い分け

Whileループは条件がTrueの間繰り返すループで、Do Untilループは条件がFalseの間繰り返すループです。処理を実行する前に条件をチェックしたい場合はWhileループ、最低1回は処理を行いたい場合や条件が成立するまで繰り返したい場合はDo Untilループが便利です。

6. 実践例:合計値を求める

6. 実践例:合計値を求める
6. 実践例:合計値を求める

1から100までの数字の合計を求める場合にもDo Untilループが使えます。


Dim total As Integer = 0
Dim n As Integer = 1
Do Until n > 100
    total += n
    n += 1
Loop
Console.WriteLine("合計は " & total)

合計は 5050

7. 注意点

7. 注意点
7. 注意点
  • 条件が最初からTrueの場合、後条件型でないと処理が実行されない
  • 無限ループに注意し、ループ内で条件を変化させる
  • ユーザー入力や条件成立まで繰り返す処理に向いている
  • Whileループとの違いを理解して使い分ける

まとめ

まとめ
まとめ

本記事では、VB.NETのDo Untilループについて、基本的な使い方から注意点まで詳しく解説しました。Do Untilループは、条件がTrueになるまで処理を繰り返す構造で、後条件型を使用すれば最低1回は処理が実行されるため、ユーザー入力や条件が成立するまで繰り返したい場面で非常に便利です。先条件型の場合は、条件が最初からTrueであれば処理は実行されません。ループ内で条件が変化する処理を必ず入れることにより、無限ループを防ぐことができます。

また、Whileループとの違いを理解することも重要です。Whileループは条件がTrueの間繰り返すのに対し、Do Untilループは条件がFalseの間繰り返します。この違いを理解して使い分けることで、プログラムの意図に沿った正確なループ処理が可能となります。さらに、合計値の計算やユーザー入力チェックなど、実践的な処理でもDo Untilループを活用することで、コードを簡潔かつ効率的に書くことができます。

サンプルプログラムの振り返り


' 1から100までの合計を求める
Dim total As Integer = 0
Dim n As Integer = 1

Do Until n > 100
    total += n
    n += 1
Loop

Console.WriteLine("合計は " & total)

' ユーザー入力チェックの例
Dim input As String
Do
    Console.Write("1から10までの数字を入力してください: ")
    input = Console.ReadLine()
Loop Until IsNumeric(input) AndAlso CInt(input) >= 1 AndAlso CInt(input) <= 10

合計は 5050
(ユーザー入力による結果)

このサンプルでは、数値の合計計算やユーザー入力のチェックにDo Untilループを活用しました。条件がFalseの間繰り返す特性を理解することで、繰り返し処理を安全かつ正確に設計することができます。

先生と生徒の振り返り会話

生徒

「Do Untilループは、条件がFalseの間繰り返すってことがよくわかりました。後条件型なら最低1回は処理が実行されるんですね。」

先生

「その通りです。ユーザー入力のチェックや条件が成立するまで繰り返す場合に便利な構造です。」

生徒

「無限ループにならないように、ループ内で条件を変える処理を入れるのも重要ですね。」

先生

「その通りです。条件が変化しないと永遠にループしてしまいますので、必ずインクリメントや変数の更新を行うことが必要です。」

生徒

「Whileループとの違いも理解できました。どちらを使うかは、処理の意図によって選ぶんですね。」

先生

「その通りです。処理の目的に応じてDo UntilとWhileを使い分けることで、より読みやすく安全なプログラムを作ることができます。」

カテゴリの一覧へ
新着記事
New1
ASP.NET
ASP.NETのクロスサイトスクリプティング(XSS)を完全解説!初心者でもわかる仕組みと対策
New2
VB.NET
VB.NETの文字列置換を完全解説!初心者でもわかるReplaceメソッドの使い方
New3
ASP.NET
ASP.NETのセキュリティ対策を完全ガイド!初心者でもわかるXSS・CSRF・SQLインジェクションの基本
New4
VB.NET
VB.NETで文字列を検索する方法をマスター!IndexOfとContainsの使い方を初心者向けに徹底解説
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETで文字列を連結する方法を完全ガイド!&演算子とString.Concatの使い方
No.2
Java&Spring記事人気No2
VB.NET
VB.NETのコレクション操作でよくあるエラーと解決策!初心者向けトラブル脱出ガイド
No.3
Java&Spring記事人気No3
VB.NET
VB.NETの配列(Array)の作り方と基本操作を徹底解説!初心者でもわかる入門ガイド
No.4
Java&Spring記事人気No4
VB.NET
VB.NETの文字列操作を完全ガイド!初心者が覚えるべき基本と宣言方法
No.5
Java&Spring記事人気No5
ASP.NET
ASP.NET MVCでセッションを使う方法を完全解説!初心者でもわかる状態管理入門
No.6
Java&Spring記事人気No6
ASP.NET
ASP.NETの認証と認可の違いを完全解説!初心者でもわかるOAuth・JWT・Azure ADの基本
No.7
Java&Spring記事人気No7
ASP.NET
ASP.NETの認証の仕組みを完全解説!初心者でもわかるログインの基本
No.8
Java&Spring記事人気No8
VB.NET
VB.NETでコレクションをソートする方法を完全ガイド!並び替えの基本