موصى به, 2024

اختيار المحرر

الفرق بين الشوط والمتابعة

كل من "الاستراحة" و "المتابعة" هي عبارة عن بيانات "قفزة" ، والتي تنقل التحكم في البرنامج إلى جزء آخر من البرنامج. يدعم C ++ عبارات القفز الأربعة وهي "عودة" و "غوتو" و "فاصل" و "متابعة". يدعم Java ثلاثة إصدارات قفزة '' متابعة '' و 'return'. والفرق الرئيسي بين الكسر والاستمرار هو أن الكسر يستخدم للإنهاء الفوري للحلقة بينما يستمر بإنهاء التكرار الحالي ويستأنف التحكم إلى التكرار التالي للحلقة. دعونا دراسة الفرق بين كسر والاستمرار في سياق C ++ و Java.

رسم بياني للمقارنة:

أساس للمقارنةاستراحةاستمر
مهمة
أنه إنهاء تنفيذ التكرار المتبقية من الحلقة.ينهي فقط التكرار الحالي للحلقة.
السيطرة بعد كسر / متابعة"استراحة" تستأنف السيطرة على البرنامج إلى نهاية الحلقة التي ترفق "كسر"."متابعة" يستأنف السيطرة على البرنامج إلى التكرار التالي من تلك الحلقة ترفق "متابعة".
الأسبابيتسبب في الإنهاء المبكر للحلقة.يتسبب في التنفيذ المبكر للتكرار التالي.
استمرار"توقف" توقف استمرار الحلقة."متابعة" لا يتوقف على استمرار حلقة ، فإنه يتوقف فقط التكرار الحالي.
استخدامات اخرىيمكن استخدام "break" مع "switch" أو "label".لا يمكن تنفيذ "متابعة" مع "التبديل" و "التسميات".

تعريف كسر

في فاصل C ++ لهما استخدامان فقط ، أي أولاً يتم استخدامه "لإنهاء تنفيذ حالة في عبارة التبديل". ثانيًا ، "إنهاء الحلقة واستئناف عنصر التحكم إلى العبارة التالية بعد الحلقة". ولكن في استراحة Java يحتوي على ثلاثة استخدامات أولاً ، فإنه ينهي الحالة في المحول ، ثم ينهي الفصل المضمن في الحلقة وثالثًا ، كما ذكر سابقاً أن Java لا تقدم عبارة 'goto' ولكن ، يمكن استخدام فاصل النموذج الممتد في مكان "goto".

دعونا نرى ، كل استخدام "كسر" في التفاصيل.

أول استخدام لإنهاء تنفيذ القضية في التبديل. يؤثر الفاصل في التبديل فقط على المفتاح الذي يحيط به ، ولا يؤثر على الحلقة التي تحتوي على المفتاح.

 // في السياق إلى C ++. // باستخدام كسر في التبديل في سياق C ++. switch (expression integre) {case 1: ..... ..... break؛ الحالة 2: ..... ..... استراحة ؛ الحالة 3: ..... ..... استراحة ؛ افتراضي: ....... .......} 

الاستخدام الثاني ، لإنهاء الحلقة واستئنافها في العبارة التالية للحلقة. بمجرد أن تتم مصادفة بيان الفاصل داخل الحلقة ، يتم إنهاء هذه الحلقة فورًا دون تنفيذ الشفرة المتبقية في نص تلك الحلقة ويصل عنصر تحكم البرنامج إلى العبارة التالية المكتوبة بعد هذه الحلقة.

 // استخدام فاصل للخروج من الحلقة في السياق إلى فئة Java main_class {public static void main (string args []) {for (int i = 0؛ i <100؛ i ++) {system.out.println ("i:" + i) إذا (ط == 10) كسر. // كشرط داخل 'if' يخرج التحكم satistfies من حلقة 'for'. } system.out.println ("Loop breaks here")؛ }} 

كسر فقط السماح للبرنامج الخروج من الحلقة التي ترفق بها. إذا تم استخدام الفاصل مع حلقة متداخلة ، فإنها لا تفرز سوى الحلقة الداخلية ولا تؤثر على الحلقة الخارجية.

الاستخدام الثالث ، وذلك باستخدام الاستراحة باعتبارها شكل غوتو. يستخدم جافا فواصل كنوع من غوتو دون مشكلتها. كما يوفر goto تفرع غير منظم والذي يصعب فهمه ويحظر أيضًا تحسين برنامج التحويل البرمجي ، تستخدم Java شكلًا موسعًا للكسر وهو مماثل لـ goto ويساعد على الخروج من أكثر من كتلة واحدة في كل مرة ويستأنف التحكم في البرنامج إلى نهاية كتلة المسمى ، المذكورة مع بيان الاستراحة.

إعلان:

 تسمية كسر 

هنا ، "label" هو اسم كتلة معينة من الكود أو معرف في Java ، ويجب أن تحتوي هذه المجموعة المسماة على بيان الفاصل. يتم استخدام عبارة الفاصل المسمى للخروج من مجموعة الحلقة المتداخلة. أثناء مواجهة كشف الفاصل المسمى ، يخرج عنصر التحكم من كتلة المسمى المشار إليها ببيان الفاصل.
دعونا نرى ذلك عمليا.

 // استخدام الفاصل كنوع goto في السياق إلى فئة Java main_class {public static void main (string args []) {boolean t = true؛ first {second {third {system.out.println ("this block 3")؛ إذا كسر (t) أولاً ؛ } system.out.println ("هذه الكتلة الثانية") ؛ } system.out.println ("هذا المنع الأول") ؛ } system.out.println ("هذا الجزء الرئيسي") ؛ }} / الإخراج: هذا هو ثالث كتلة هذا هو كتلة الرئيسي 

في هذا التعليمة البرمجية ، عندما يصل عنصر التحكم إلى الكتلة الثالثة ، يتم تنفيذ بيان الطباعة الخاص به وبعد ذلك يستأنف التحكم إلى العبارة "if" ، وعند استيفائه ، يتم تنفيذ كشف الفاصل مع العلامة. يكون الملصق المرفق بالفاصل هو الأول ، بحيث تستأنف السيطرة إلى البيان المكتوب بعد نهاية الكتل أولاً ، أي في الكتلة الرئيسية التي هي عبارة مطبوعة وتنفذ.

تعريف المتابعة

بينما ينهي الإيقاف التكرار المتبقي للحلقة ويسمح للتحكم بالخروج من الحلقة ، هنا ، يستمر العمل في العمل إلى حد ما مثل الفاصل. إيقاف العبارة متابعة تنفيذ التعليمة البرمجية المتبقية في الحلقة من أجل ذلك التكرار الحالي واستئناف عنصر التحكم إلى التكرار التالي من تلك الحلقة.الخطأ متابعة يتخطى رمز التكرار الحالي ويمرر التحكم إلى التكرار التالي للحلقة.

دعونا نفهم ذلك مع مثال.

 // باستخدام متابعة في السياق إلى C ++. // تقوم بطباعة الرقم الزوجي حتى 100. class_class class {public static void main (string args []) {for (int i = 0؛ i <100؛ i ++) {if (i٪ 2! = 0) continue؛ // مواصلة استئناف التحكم إلى التكرار التالي في حلقة system.out.println ("i:" + i)؛ }}} 

في البرنامج أعلاه ، إذا تم استيفاء العبارة "if" ، فسيتم تنفيذ جملة continue ، والتي لا تسمح بتنفيذ جملة الطباعة التالية واستئناف عنصر التحكم إلى التكرار التالي للحلقة "for". في حالة i = 1 ، يتم استيفاء شرط "if" واستمرار التنفيذ ، دون تنفيذ بيان الطباعة للقيمة الفردية لـ "i" ، ويستأنف التحكم إلى التكرار التالي للحلقة "لـ i = 2". إذا كانت i = 2 ، فهذا يعني أن العبارة "if" غير مرضية ؛ متابعة لا ينفذ وطباعة البيان طباعة قيمة 'أنا' حتى.

الاختلافات الرئيسية بين الكسر والمتابعة

  1. بشكل أساسي ، تنهي الكلمة الأساسية للكسر بقية التكرارات المتبقية من الحلقة. من ناحية أخرى ، تنتهي الكلمة الأساسية continue فقط بالتكرار الحالي للحلقة.
  2. بمجرد تنفيذ الكلمة الرئيسية للكسر ، يخرج التحكم في البرنامج من الحلقة ويستأنف إلى العبارة التالية بعد الحلقة. في حالة استمرار الكلمة الأساسية ، يستأنف التحكم في البرنامج إلى التكرار التالي للحلقة.
  3. كما يلاحظ أعلاه ، أنه بعد تنفيذ السيطرة على الخروج من البرنامج للخروج من الحلقة ، فمن الواضح أن كسر يؤدي إلى الإنهاء المبكر لأي حلقة. من ناحية أخرى ، تابع فقط إنهاء التكرار الحالي واستئناف التكرار التالي للحلقة ثم يمكننا القول أن الاستمرار يؤدي إلى تنفيذ مبكر للتكرار التالي للحلقة.
  4. إنهاء الكلمة الأساسية فاصل كل التكرار المتبقية بعد تنفيذه حتى نتمكن من القول أنه يوقف استمرار الحلقة بينما تستمر الكلمة الأساسية continue تنفيذ الحلقة.
  5. يمكن استخدام الكلمة الأساسية للاختزال مع عبارات "switch" بالإضافة إلى "label" بينما لا يمكن استخدام الكلمة الأساسية continue مع "switch" و "label".

استنتاج:

بيان الاستعادة والاستمرار كلاهما عبارة الانتقال التي تنقل عنصر التحكم إلى جزء آخر من البرنامج. حيث تسمح العبارة الفاصلة لعنصر التحكم بالخروج من الحلقة ، يسمح بيان المتابعة بالتحكم في التكرار التالي لتلك الحلقة.

Top