無差別に技術をついばむ鳥

情報処理技術全般を気まぐれにつつくゆるいブログです

VB.NETをつつく4ー繰り返し構造。くるくる回るよ。

次はプログラムの繰り返し構造だー
次はプログラムの繰り返し構造だー
2回繰り返してみたピヨ。
プログラムをひたすら1行目から最後までずーと流れ落ちるように実行するなんて不可能だし面倒なだけ。
だからVB.NETにもプログラム繰り返すための文法があるんだ。
その文法とは、ForループWhileループDo/WhileループForEachループの4つもあるんだ。
ビックリした人が居るかもしれないけど、そんなに難しくないので1つずつ見ていこう。
では早速forループのつまらないコードを見てね。

Imports System

Module Module1

    Sub Main()
        For i As Integer = 0 To 9
            Console.Write(i & vbTab)
        Next
    End Sub

End Module  

このコードは10回数値をコンソール画面へ出力するものなんだ。
Console.Write( i + "\t" )を10回書く事を思えばループのありがたさがわかるよね。
つまりforループとは一定の回数ループする文法なんだ。


じゃあ、次はWhileループを見てみよう。
Imports System

Module Module1

    Sub Main()
        Dim msg As String = "何かキー入力してEnterキーを押して。" + _
            "※Qを押せば終了だよ。"
        Console.WriteLine(msg)
        Dim str As String = Console.ReadLine()
        While str <> "q" 'Qキーを押されるまでループ 
            Console.WriteLine("貴方は今" + str + "を押しましたね。")
            Console.WriteLine(msg)
            str = Console.ReadLine()
        End While
    End Sub

End Module
早速試してみよう。forループとの違いがわかるかな?
forループの例とwhileループの例との違いは、ループ回数が事前にわからない所なんだ。
事前に何回ループしたらいいのかわからない場合はwhileループを使おう。


じゃあ次は・・・do/whileループの例を見てみよう。
Imports System

Module Module1

    Sub Main()
        Dim msg As String = "何かキー入力してEnterキーを押して。" + _
            "※Qを押せば終了だよ。"
        Console.WriteLine(msg)
        Dim str As String = Console.ReadLine()
        Do
            Console.WriteLine("貴方は今" + str + "を押しましたね。")
            Console.WriteLine(msg)
            str = Console.ReadLine()
        Loop While str <> "q" 'Qキーを押されるまでループ 
    End Sub

End Module
さっきのWhileループの例とそっくりに作ったけど、その違いがわかるかな?
答えは・・・・・1回は実行する事なんだ。
両方のコードを実行していきなりqを入力してEnterキーを押してみよう。
Do/Whileループの場合の方が表示されるメッセージが多いよね?
それは、ループ内のコードが実行される回数が多いからなんだピヨ。
C#はの記事はここで終わっているけど、VB.NETの方が実は豊富なんだ。
Do While str <> "q" にして先ほどのWhileの例と同じ動作に出来るんだ。
さらに、 Do Until str = "q" と書くことによって、「文字qが入力されるまでループ」という条件を「文字qが入力されなければループ」に出来るんだ。
もちろん結果は同じだよ。VB.NETはC#よりも豊富な記述が出来るんだね。それが良い事なのかはわからないけど、ビックリしたピヨ。

最後はForEachループを見てみよう。
Imports System

Module Module1

    Sub Main()
        Dim message() As String = { _
           "りんご", "とまと", "メロン", "みかん"}
        For Each msg As String In message 'ここに注目
            Console.WriteLine(msg)
        Next
    End Sub

End Module
例のコードをじーと見ると、配列と配列の要素の型がForEach内で宣言されているのがわかる。
このforeachループは、配列などの複数の要素がある型の全ての要素を順次取り出す時に使用するんだ。
つまり、この例の場合は「message配列変数の要素がある限りループしなさい!」といっているんだ。
これでひとまず全部の繰り返し構造を説明したピヨ。
じゃあ今回はこれでおしまいにするよ。では、また会いましょう。
別窓 | VB.NET | コメント:0 | トラックバック:0 | ∧top | under∨
<<VB.NETをつつく5ー制御構造。ズバッと判定 | 無差別に技術をついばむ鳥 | VB.NETをつつく3ー配列。要素をまとめよう。>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |