【VB.Net】コンソール出力⑥(For文) | i

【VB.Net】コンソール出力⑥(For文)

今回はFor文(繰り返し処理)でコンソール出力を試したいと思います。
以前、For文の構文について紹介した記事がこちらですので参考にしてください。

ひとまず0から10まで1ずつ増えて10を超えたら終了するFor文を書きます。
 

Sub Main

Dim i As Integer
For i = 0 To 10
 Console.WriteLine("変数iは" & i)

Next



 

実行結果


コンソール出力は10まで行われているのがわかります。

変数iが11になったため、繰り返し処理が終了しました。

本当に変数iが11になっているのでしょうか?
もう1文追加して確認してみましょう。
 

Sub Main

Dim i As Integer
For i = 0 To 10
 Console.WriteLine("変数iは" & i)

Next

Console.WriteLine("For文終了。変数iは" & i)


 

実行結果


最後の1文の 変数iが11というのがわかりますね。


では、問題です。
変数iが1~10までの範囲で奇数(1,3,5,7,9)の時にコンソール出力をしたいです。
以下が実行結果。

どのようにプログラミングを行えばいいでしょうか?

何通りか書き方があるので考えてみてください~







答え)
①Stepを使用する

Sub Main

Dim i As Integer
For i = 1 To 10 Step 2
 Console.WriteLine("変数iは" & i)

Next





②処理の最後に加算する

Sub Main

Dim i As Integer
For i = 1 To 10
 Console.WriteLine("変数iは" & i)
 i = i + 1
Next



→Stepを使用していませんが同義です。
 手動で変数iに変数i+1をした後にFor文のNextで変数iに1が加算されるため、実質2ずつ増えるFor文になっています。



③If文で奇数判定をする

Sub Main

Dim i As Integer
For i = 1 To 10
 If i Mod 2 = 1 Then
  Console.WriteLine("変数iは" & i)
 End If
Next



→For文自体は1ずつ処理を行っています。
 「変数iが2で割った際、余りが1ならば、コンソール出力をする」という命令を入れています。


もしかしたら列挙したほかにも、出力方法があるかもしれません…!
全部実行結果は同じコンソール出力になりますが、
プログラムの記述方法はいろいろあるんですね。
(ここが、プログラミングの面白くて難しいところなんですよね~~)

ただここで一つ注目してほしいのは、何回繰り返し処理を行っているか、です!
③番は1ずつ増えて、奇数の時のみ出力するという命令のため、表示は5行ですが、処理自体は10回しっかり繰り返しています。
①番②番は2ずつ増えているので、5回繰り返して処理が終わっています。

そこが違うので、用途によって使い分けたりできます。

ひとまず、いろいろな書き方があるんだなあ~といった印象で大丈夫です。
一番初歩的はFor文の紹介でした。
次回またFor文を用いていろいろな繰り返し処理を試してみたいと思います。