loops c control statements
C#のループにより、プログラムはコードのブロックを複数回実行できます。このチュートリアルでは、whileループ、Forループなど、さまざまなループについて例を挙げて説明します。
以前のチュートリアルでは、さまざまなことについて学びました C#演算子 必要な実行フローに従うために意思決定ステートメントと組み合わせて使用できるよりも。
このチュートリアルでは、プログラムが反復ロジックを実行できるようにするC#ループステートメントについて説明します。
学習内容:
C#のループ:完全な概要
C#で記述されたすべてのステートメントは順番に実行されますが、プログラムが特定のコードスニペットを数回実行する必要があるシナリオがあり、このような状況を処理するために、C#は複雑な実行フローを処理するために使用できる制御ステートメントを提供します。
ループを使用すると、プログラムはC#の一般的なステートメントに従って、コードのブロックを複数回実行できます。 C#は、さまざまなプログラミング実行要件を処理するためのさまざまなタイプのループを提供します。
制御ステートメント
ループの作業を開始する前に、制御ステートメントが何であるかを知る必要があります。制御ステートメントにより、ループは通常のシーケンスからコースを変更できます。 C#プログラミング言語は、次の基本的なループ制御ステートメントを提供します。
ステートメントを続ける
C#のcontinueステートメントは、次の理由で使用されます。
- 間にあるコードをスキップしながら、ループの次の反復を実行します。
continueステートメントの構文は次のとおりです。 継続する;'
Breakステートメント
C#のBreakステートメントは、次の理由で使用されます。
Windows10に最適なシステムクリーナー
- プログラムが次のループステートメントを続行できるように、ループを終了するために使用されます。ネストされたループでは、内部ループの実行を停止するために使用できます。これにより、現在のコードの後の次のステートメントにプログラム制御が提供されます。
- 内のステートメントを終了するために使用できます スイッチケース。
breakステートメントの構文は次のとおりです。 ブレーク;'
Whileループ
whileループは条件を検証し、whileで定義された条件が真である限りコードブロックを実行します。
構文
While(Boolean Condition) { //code block// }
重要なポイント:
- ブールステートメントは、コードの実行前に検証されます。
- ブール式がtrueとして検証された場合にのみ、コードが実行されます。
- コードブロックが実行されると、コントロールは評価のためにブールステートメントに戻ります。
- ブール式がtrueと評価される限り、ループは実行を続けます。
- ブール式がfalseと評価された場合、コードブロックはスキップされ、whileループ外のコードの次の行が実行されます。
- ブール式で使用される変数を常に更新して、予想される反復でループの終了を認識するようにしてください。
- whileループに関連付けられた変数が更新されないか、常にtrue値を返す場合、それは無限ループになります。
単純なwhileループの例:
int a = 0; while (a <5) { Console.WriteLine(“The value of a is :”+a); a++; } Console.WriteLine(“The while block has been executed”);
コードの説明
上記のプログラムでは、ブール式を(a<5) for “while”. It means that the loop will continue to execute the code snippet as long as the value of “a” is less than 5.
コードブロックでは、「a」の値を出力してから、インクリメント演算子を追加しました。前のチュートリアルで前述したように、増分演算子を使用して整数の値を1増やします。したがって、「a」の値がコンソールに出力されると、コントロールは増分演算子を通過し、サイズが大きくなります。 1で。
これで、コントロールが移動してブール式を評価します。現在の例では、aの初期値を「0」としてすでに定義しているため、「1」ずつ増加します。したがって、ブール式は(1<5) which will evaluate to “true” and the code block inside the loop will get executed.
「a」の値が5に達すると、ブール式がfalseとして読み取られるため、実行が停止します。ブール式がfalseを返すと、コントロールはループに存在し、whileブロックの外側で次のコード行を実行します。
プログラムを実行すると、出力は次のようになります。
出力
aの値は次のとおりです:0
aの値は次のとおりです:1
aの値は次のとおりです:2
aの値は次のとおりです。3
aの値は次のとおりです。4
whileブロックが実行されました
ループしながら行う
do whileループはwhileループに似ていますが、1つの違いがあります。条件は、whileループの場合で説明したように、ループの開始ではなく、ループの終了時に評価されます。これにより、このループに固有の機能が提供されます。つまり、ループ境界内でステートメントが少なくとも1回実行されます。
一方、他のループは最初にブール式を評価します。つまり、式がfalseの場合、ループは実行されません。
構文
do { //code block for execution// } while( Boolean expression );
重要なポイント:
- 「dowhile」は、whileループと同様に機能します。 Doキーワードはコードブロックの先頭に配置され、whileはコードブロックの後に配置されます。
- ブール式は、ループの最初ではなく最後に評価されます。条件がtrueとして返される場合、ループは続行されます。式がfalseを返す場合、ループはそこで終了します。
- 「dowhile」は、ループ境界内のコードブロックを少なくとも1回実行します。
単純なDo-Whileループの例:
int nmbr = 5; /* do loop starts*/ do { Console.WriteLine('value of nmbr is '+ nmbr); nmbr++; } while (nmbr <10); Console.ReadLine();
コードの説明
上記のコードでは、値5の整数「nmbr」を宣言しました。次に、「Do」キーワードを配置してループを開始しました。 Doの後、中括弧内に、実行するコードを定義しました。ここでは、nmbr整数の値をコンソールに出力しています。角かっこ内に独自の複雑なコードを書くことができます。
ご覧のとおり、nmbrの値を出力した後、それをインクリメントしています。コードブロックが処理されると、コントロールは「while」に移動し、ブール式が評価されます。ここで、nmbrの値が10未満になるまで、ループを繰り返し続けます。
したがって、このコードスニペットを実行すると、次の出力が表示されます。
出力
nmbrの値は5です
nmbrの値は6です
nmbrの値は7です
nmbrの値は8です
nmbrの値は9です
一度、nmbrの値は10に達しました(反復ごとに増分することにより)。次に、while条件は10以上であるため、false値を返します。これにより、コントロールは「Do while」ループを終了し、コントロールはコードの次の行に渡されます。
Forループ
C#のforループは、「while」ループとはまったく異なる構文に従います。 「for」ループの条件には、構文自体の内部の条件の初期化と変更が含まれます。 「for」ループは、ループに対して実行する必要のある正確な反復回数がわかっている場合に非常に役立ちます。
ループの括弧内の定義には、セミコロンで互いに分離された3つの部分が含まれています。最初の部分は初期化であり、次にブール式とそれに続く反復リストがあります。
構文
for(initializer; boolean expression; iteration list) { //code block for execution// }
式の最初の部分は初期化ブロックです。この式は、整数変数を初期化するために使用されます。これにより、ループの開始時に値が提供されます。
2番目の部分は、whileループと同様に、ループの継続の真または偽の条件を評価するために使用されるブール式です。
3番目の式は反復部分です。ここでは、インクリメント演算子またはデクリメント演算子を使用して、実行要件に従って初期化された変数の値を増減できます。
重要なポイント:
- C#のforループにより、プログラマーは実行する反復の正確な数を定義できます。
- Forループには、ループの条件を提供するブール式とともに、初期化式と反復式も含まれています。
- forループは、ループに必要な反復回数が明確にわかっている場合に使用されます。
- 変数の初期化は、ループの開始時に行われます。
- 初期化後、制御はブール式を検証するために2番目のセクションに渡されます。ブール式は必要に応じて複雑にすることができますが、結果は常に値としてtrueまたはfalseを返す必要があります。
- ブール式がtrueと評価された後、中括弧内のコードブロックが実行され、コントロールが再びループの先頭に移動して、インクリメントまたはデクリメント演算子が実行されます。
- 反復リストが実行された後、コントロールは評価のためにブール式に再び移動し、ループが「true」を返す場合はループを反復し、falseを返す場合はループ外の次のコード行を実行します。
単純なForループの例:
/* for loop starts*/ for(int i=0; i<5; i++) { Console.WriteLine('value of i is '+ i); }
コードの説明
jarファイルを実行する方法
上記のコードでは、整数iを0として初期化しました。次に、iが0未満であるかどうかを評価するブール式と、インクリメント演算子を提供しました。
初期化はループの開始時に行われ、次にブール条件が評価され、続いて中括弧内のコードブロックが実行されます。次に、制御は上部のインクリメント演算子に再度渡されます。これにより、反復ごとにiの値が1ずつ増加します。
より明確にするために出力を見てみましょう。
出力
iの値は0です
iの値は1です
iの値は2です
iの値は3です
iの値は4です
各ループについて
For Eachループは、プログラムがリストの内容を反復処理する必要がある場合に使用されます。配列リストや配列などのコレクションに使用できます。
構文
foreach(item_type iterative_variable in list_type) { //code block for execution// }
構文の「item_type」は、リストに含まれるアイテムのタイプです。 例えば、 整数配列を使用している場合、型は整数または整数になります。
「iterative_variable」はユーザーが選択した変数名であり、「in」は使用されるキーワードです。
「list_type」は、使用しているリストタイプです。 例えば、 整数配列を使用している場合、list_typeはint配列名になります。
重要なポイント:
- for eachループは、指定されたコレクションに存在する各要素に対してコードブロックを実行します。
- for eachループは読み取り専用であるため、実行中に反復変数を変更することはできません。
- このループを使用する反復ごとに、リストから新しい値をフェッチします。次に、値は読み取り専用変数内に配置されます。
- 反復中にリストのすべての要素が使い果たされると、コントロールはコードの次の行に渡されます。
単純なForEachループの例:
/* specifies list*/ int[] list = {1,2,3,4,5}; /* foreach loop starts*/ foreach (int nmbr in list) { Console.WriteLine('Numbers present in list are '+ nmbr); }
コードの説明
最初に、最初の行に配列「リスト」を定義しました。次に、for eachループを使用して、配列のすべての値を反復して出力しました。
ループステートメント内で、整数型変数「nmbr」の後にキーワード「in」が続き、その後に同じ配列が続くことを宣言しました。つまり、ここで言うことは、「リスト」内で整数の「nmbr」を探しているということです。
次に、ステートメントはすべての値を出力するための単純なコードブロックです。変数「nmbr」を出力しています。前述のように、これは読み取り専用変数であり、反復ごとに新しい値を格納します。
理解を深めるために、出力を見てみましょう。
出力
リストにある番号は1です
リストにある番号は2です
リストにある番号は3です
リストにある番号は4です
リストにある番号は5です
無限ループ
ループを定義する条件がfalse値を返さない場合、ループは無限に続く可能性があります。通常、forループまたはwhileループを使用して、無限ループ操作を実行できます。
Forループを使用した無限ループ
3つのステートメントはいずれも必須ではないため、「forループ」を使用して無限ループ操作を実行できます。したがって、すべてのステートメントを空のままにすると、無限ループが作成されます。
/* for loop starts*/ for (; ;) { Console.WriteLine('infinite loop”); }
このループは、コンソールに「無限ループ」を無限に出力し続けます。
whileループを使用した無限ループ
whileループは、無限ループ操作を実行するためにも使用できます。これは、決して偽ることのない条件を提供することで実現できます。
例えば x> 0で、1から始まるたびにxをインクリメントします。
/* while loop starts*/ int x = 1; while(x>0) { Console.WriteLine('infinite loop”); x++; }
xの値は常に1より大きいままなので、これはコンソールに「無限ループ」を出力し続けます。したがって、while条件は常に「true」値を返し、while内のコードブロックは実行を続けます。
結論
ループを使用すると、コードのブロックを何度も繰り返すことができます。 C#プログラミング言語は、「for」、「while」、「do while」、「foreach」などのループを使用するためのさまざまなステートメントを提供します。
whileループは、whileブロック内の式が真である限り、コードのブロックを実行します。 Do Whileループを使用すると、ユーザーはコードのブロックを少なくとも1回実行できます。その後、falseを返す間、内部の式が繰り返されるまで繰り返します。
C ++関数への未定義の参照
forループは、コードを反復する必要がある回数がすでにわかっている場合に使用されます。 For eachループは、指定されたコードブロックを使用して、リスト/コレクション内の各要素を実行するために使用されます。
通常、ループは制御式がtrueを返すまで実行されますが、continueまたはbreakステートメントを使用して実行フローを変更できます。
forまたはwhileステートメントを使用して無限ループを作成し、コードのブロックを無限に実行することもできます。ループステートメントを定義する式は常にtrueを返すため、これらのコードブロックは実行を続けます。