p.115 for文
・4つあるC#の繰り返し構文の1つで、主に「●回繰り返す」時に用いると便利な構文。
・書式: for (繰り返し前の実行文; 継続条件; 毎回繰り返しの末尾の実行文) { 繰り返し内容 }
・例:
int i; //繰り返しのカウンタ用の変数を宣言
//①iに0を代入し、②iが5未満なら、③iの表示とインクリメントを繰り返す
for (i = 0; i < 5; i++) { //繰り返し開始
Console.WriteLine(i); //繰り返し内容
} //繰り返しここまで
・繰り返し内容が1行の場合「{}」は省略可能だが、省略が推奨されないことがある
アレンジ演習:p.115 for01.cs
・省略されている{}を記述しよう
・継続条件を「5未満」から「4以下」にしよう
作成例
//アレンジ演習:p.115 for01.cs
using System;
class for01
{
public static void Main()
{
int i; //繰り返しのカウンタとして用いる変数
//①iに0を代入し、②iが以下なら、③iの表示とインクリメントを繰返す
for (i = 0; i <= 4; i++) { //iを0から4まで1加算しながら繰返す
Console.WriteLine("i = {0}", i);
}
}
}
p.116(デクリメントによるカウントダウンのfor文)
・for文の第3要素をデクリメントにすると、カウントダウンのfor文を記述できる
アレンジ演習:p.116 for02.cs
・省略されている{}を記述しよう
作成例
//アレンジ演習:p.116 for02.cs
using System;
class for02
{
public static void Main()
{
int i; //繰り返しのカウンタとして用いる変数
//①iに4を代入し、②iが0以上なら、③iの表示とデクリメントを繰返す
for (i = 4; i >= 0; i--) {
Console.WriteLine("i = {0}", i);
}
}
}
p.117 forループからの脱出
・for文の3つの要素は全て省略可能(セミコロン2個は省略不可)
例: for(i = 0; i < 5;){…; i++;}
例: i = 0; for(; i < 5;){…; i++;}
・ただし、2つめの要素である継続条件を省略すると無限ループになる
例: for(;;){…}
・無限ループを終わらせたい場合や、継続条件以外の理由でループを終わらせたい場合、breakを実行すると良い
・よって、継続条件が複雑な場合や、コンソールからの入力によってループを終わらせたい場合などは、継続条件ではなく、
breakをif文で囲って用いると良い
例:
i = 0; //カウンタに0を代入
for(;;){ //無限ループ開始
if(i >= 5) //カウンタが5以上になったら
break; //繰り返し終了
}
i++; //カウンタに1加算
}
・なお、繰返し構文の中のif文などでは、その対象が1行であっても{}の省略を推奨しないことがある。
アレンジ演習:p.117 for03.cs
・繰返し構文の中のif文の{}の省略をやめよう
作成例
//アレンジ演習:p.117 for03.cs
using System;
class for03
{
public static void Main()
{
int i = 0;
for ( ; ; ) { //無限ループ!!
Console.WriteLine("i = {0}", i);
i++; // WriteLineメソッドが実行されたらiを1増やす
if (i >= 5) { // iが5以上になったらbreak文で脱出
break;
}
}
}
}
提出:アレンジ演習:p.117 for03.cs
・4,3,2,1,0 とカウントダウンするように書き換えよう