スポンサーリンク
※サイト運営にサーバーは必須です※
~このサイトもエックスサーバーを使用しています~
while文
for文と同じく、while文は繰り返し処理を扱います。
while文は以下のように書きます。
while (条件式)
{
文(処理);
}
条件式がtrueなら、文(処理)が実行されます。
条件式がfalseなら、ループから抜けます。
もしも、条件式が最初からfalseの場合、while文の中に書かれた処理は1度も実行されません。
for文にあった、変数の初期化式(一項目)とカウント用の変数の変更式(三項目)を抜いた場合と結果が等しくなります。
つまり、条件式(二項目)だけ残したfor文とwhile文に結果の差はありません。
for(;条件式:)
{
文(処理);
}
実際に確認してみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace While01 { class Program { static void Main(string[] args) { int sum; int i; //while文で書いた場合 Console.Write("while文で書いた場合:"); sum = 0; i =0; while (i<=10) { sum += i; i++; } Console.WriteLine("0~10までの合計は"+sum); //for文で書いた場合 Console.Write("for文で書いた場合:"); sum = 0; i = 0; for(;i <= 10;) { sum += i; i++; } Console.WriteLine("0~10までの合計は" + sum); } } } |
実行結果は、
while文で書いた場合:0~10までの合計は55
for文で書いた場合:0~10までの合計は55
do~while文
繰り返し文を扱う際に、条件式がfalseであっても、最初の1回はその処理を行いたい場合があります。
そのような場合do~while文が有用です。
do~while文は以下のように使います。
do
{
文(処理);
}
while (条件式);
まず、doの後の中カッコに囲まれた文(処理)が実行されます。
次に、条件式が評価され、trueなら、文(処理)が再び実行されます。
もしも、falseなら、ループから抜けます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace While02 { class Program { static void Main(string[] args) { Console.WriteLine("正の数字を入力してください"); int i = int.Parse(Console.ReadLine()); do { Console.WriteLine("iの値は" + i); i--; } while (i > 0); } } } |
4と入力した場合
正の数字を入力してください
4
iの値は4
iの値は3
iの値は2
iの値は1
-3と入力した場合
正の数字を入力してください
-3
iの値は-3
-3<0はfalseですが、{}の中の処理は1度実行されているのが確認できます。
関連記事
~プログラミングを勉強してみませんか?~
TechAcademy [テックアカデミー] は無料の体験講座が用意されているので、気軽に体験できます。
※私(サイト主)も無料体験講座を実際に受けてみました(→感想)