推奨されます, 2021

エディターズチョイス

whileループとdo-whileループの違い

反復ステートメントは、条件が偽にならないまで命令セットを繰り返し実行することを可能にします。 C ++とJavaの繰り返し文はforループ、whileループ、do whileループです。 これらのステートメントは一般にループと呼ばれます。 ここで、whileループとdo whileループの主な違いは、whileループはループの反復前に条件をチェックするのに対し、do-whileループはループ内のステートメントの実行後に条件をチェックすることです。

この記事では、「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ループの主な違い

  1. whileループは、ループの開始時に条件をチェックし、条件がループ内で満たされている場合は実行されます。 do-whileループでは、ループ本体内のすべてのステートメントの実行後に条件がチェックされます。
  2. whileループ内の条件が偽の場合、ループ内の単一のステートメントは実行されず、 'do-while'ループ内の条件が偽の場合は、ループ本体も少なくとも1回実行され、その後条件がテストされます。

結論:

whileループとdo-whileループの両方が反復ステートメントです。最初にそれを望むのであれば、条件を検証し、次にループ内のステートメントを実行してからwhileループを使用する必要があります。 ループの最後で終了条件をテストしたい場合は、do-whileループが使用されます。

Top