この記事では、「while」ループと「do-while」ループの違いについて説明します。
比較表
比較基準 | しながら | 一方を行います |
---|---|---|
一般書式 | while(条件){ ステートメント //ループ本体 } | 行う{ 。 ステートメント //ループ本体 。 while(条件); |
管理条件 | whileループでは、制御条件はループの始めに現れます。 | 「do-while」ループでは、制御条件はループの最後に現れます。 |
繰り返し | 最初の反復の条件が偽に見える場合、反復は発生しません。 | 最初の繰り返しで条件が偽であっても、繰り返しは少なくとも一度は発生します。 |
whileループの定義
whileループは、C ++とJavaで利用可能な最も基本的なループです。 whileループの働きはC ++でもJavaでも似ています。whileループの一般的な形式は次のとおりです。
while(条件){ステートメント; //ループ本体}
whileループは最初に条件を検証し、その条件が真であれば、条件が偽になるまでループを繰り返します。 whileループの条件は、任意のブール式にすることができます。 expressionがゼロ以外の値を返す場合、条件は「true」です。式がゼロの値を返す場合、条件は「false」になります。 条件が真になると、ループは自動的に繰り返され、条件が偽になると、制御はコードの次の行に移り、直後にループが続きます。
ステートメントまたはループ本体は、空のステートメント、単一のステートメント、またはステートメントのブロックのいずれかです。
whileループの働きについて説明しましょう。 以下の例では、コードは1から10までを印刷します。
// exampleはJavaです。 class while {public static void main(args []){int n = 0;} while(n <= 10){n ++; system.out.println( "n =" + n); // output n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10
ここで、 'n'の初期値は0で、whileループの条件が真になります。 その後、制御はwhileループの本体に入り、whileループ本体の最初のステートメントに従って「n」の値が増分されます。 その後、 'n'の値が出力され、再び制御はwhileループの条件に戻ります。今度は 'n'の値が1になり、条件が満たされ、ループの本体が再び実行されます。
条件が偽になるとすぐにループは終了します。 forループと同様に、whileループも最初に条件をチェックしてから、ループ本体を実行します。
do-whileループの定義
whileループと同様に、最初の繰り返しで制御条件が偽になった場合、whileループの本体はまったく実行されません。 しかし、do-whileループはwhileループとは多少異なります。 do-whileループは、最初の試行で条件が偽であっても、ループの本体を少なくとも1回実行します。
do-whileの一般的な形式は次のとおりです。
行う{ 。 ステートメント//ループ本体。 。 while(条件);
do-whileループでは、ループ本体は制御条件の前にあり、条件文はループの最後にあります。 whileループの場合と同様に、ここでも、C ++とJavaの両方でNULLステートメントを使用できるため、ループの本体を空にすることも、単一ステートメントまたはステートメントのブロックのみを作成することもできます。 ここでの条件もブール式です。これはすべてのゼロ以外の値に当てはまります。
do-whileループでは、制御は最初にdo-whileループの本体内のステートメントに到達します。 本体内のステートメントが最初に実行され、次に制御がループの条件部分に到達します。 条件が検証され、それが真であれば、ループが再度繰り返され、条件が偽であれば、制御はループの直後の次の行に戻る。
上記の例をdo-whileで実装して理解しましょう。
// exampleはJavaです。 クラスwhile {public static void main(args []){int n = 1;} do {system.out.println( "n =" + n); n ++; // n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10
ここでは、n = 1の値でコントロールがループの本体に戻り、 'n'の値が出力されてからその値がインクリメントされます。 その後、制御はdo-whileループの状態に戻ります。 条件が検証され、それはn = 1に対して真であることが判明し、従って、ループは再び繰り返され、条件が偽になるまで続けられる。
whileループとdo-whileループの主な違い
- whileループは、ループの開始時に条件をチェックし、条件がループ内で満たされている場合は実行されます。 do-whileループでは、ループ本体内のすべてのステートメントの実行後に条件がチェックされます。
- whileループ内の条件が偽の場合、ループ内の単一のステートメントは実行されず、 'do-while'ループ内の条件が偽の場合は、ループ本体も少なくとも1回実行され、その後条件がテストされます。
結論:
whileループとdo-whileループの両方が反復ステートメントです。最初にそれを望むのであれば、条件を検証し、次にループ内のステートメントを実行してからwhileループを使用する必要があります。 ループの最後で終了条件をテストしたい場合は、do-whileループが使用されます。