CodeGym /مدونة جافا /Random-AR /جافا للحلقة
John Squirrels
مستوى
San Francisco

جافا للحلقة

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

كيفية كتابة حلقة في جافا؟ للحلقة بشكل عام

تنفذ حلقة For بعض العبارات لعدد معين من المرات. على سبيل المثال، كتابة خمسين مرة "يجب ألا أكون كذلك، هو هو، هو" أو إرسال دعوات إلى جميع أصدقائك هي مهام نموذجية لهذا النوع من الحلقات. بناء جملة الإصدار الأكثر شيوعًا للحلقة:
for ([counter initialization]; [checking conditions]; [changing of the counter])
{
    //  statements
}
يتم تنفيذ تعبير التهيئة مرة واحدة، ثم يتم تقييم الشرط، والذي يجب أن يكون تعبيرًا منطقيًا.
  • عندما تبدأ الحلقة، يتم تنفيذ عمليات التهيئة.
  • عندما تكون الشروط خاطئة، تتوقف حلقتنا عن العمل.
يتغير العداد، وعادةً ما تحدث الزيادة (أو النقصان) بعد كل تكرار خلال الحلقة. يمكنك تخطي أي من تعبيرات الحلقة الثلاثة (التهيئة، التحقق من الحالة، تغيير العداد). يتم التحقق من حالة الحلقة قبل الخطوة التالية من الحلقة. إذا كان الشرط خاطئًا، فسيخرج البرنامج من الحلقة ويستمر في تنفيذ التعليمات التالية للإنشاء. هنا لدينا مخطط كتلة للحلقة. للحلقة في جافا - 2

كيفية استخدام حلقة في جافا. مثال بسيط.

فيما يلي مثال محدد لـ Java for Loop. دعونا نكتب عشر مرات "مرحبا!" سلسلة في كل مرة ستكون من السطر الجديد برقم من هذا السطر. يجب أن نحصل على الناتج التالي:
  1. مرحبًا!
  2. مرحبًا!
  3. مرحبًا!
  4. مرحبًا!
  5. مرحبًا!
  6. مرحبًا!
  7. مرحبًا!
  8. مرحبًا!
  9. مرحبًا!
  10. مرحبًا!
إليك برنامج Java الذي يحل هذه المشكلة:
public class ForExample {
   public static void main(String[] args) {
       for (int i = 0; i < 10; i++) {
           System.out.println(i + 1 + ". Hello!");
       }
   }
}

كيف تعمل؟

الخطوة 1. العداد i = 0. تتحقق الحلقة من حالتنا، i << 10، وبالتالي يتم تنفيذ عبارات الحلقة. يطبع العبارة "1. مرحبًا!". 1 عبارة عن سلسلة نصية i + 1 (لأننا عدنا من الصفر، لكن السطر الأول لا يزال هو الأول). يتم زيادة العداد i. الآن، i = 1. الخطوة 2. العداد i = 1. i < 10، إذن لدينا عبارة "2. مرحبًا!" وi + 1 = 2.... الخطوة 10. العداد i = 9، لدينا "10. مرحبًا!" ويتم زيادة i إلى 10. الخطوة 11. العداد i = 10. i < 10 ؟ لا، هذا باطل. ولذلك، انتهت الحلقة. للحلقة في جافا - 3

بينما الحلقة والحلقة: الاختلافات وأوجه التشابه

في Java، يتم تنفيذ حلقة غير محددة أو أثناء الحلقة بشكل مستمر إذا تحقق الشرط المنطقي. بناء جملة حلقة while:
while (boolean condition)
       {
            loop statements...
       }
في كثير من الأحيان يمكنك اختيار الحلقة التي تريد استخدامها. في بعض الأحيان تكون قريبة جدًا ويمكنك استخدام كليهما. على سبيل المثال، هذا هو الكود الخاص بنفس المهمة (كتابة "مرحبًا!" عشر مرات مع رقم السطر) الذي تم كتابته باستخدام حلقة while:
public class ForAndForEach {
   public static void main(String[] args) {
       int j = 0;  //  we use the counter this way
       while (j < 10) {
           System.out.println(j + 1 + ". Hello!");
           j++;
       }
   }
}
ومع ذلك، فإن المبرمجين المحترفين لا يحبون حلقة while حقًا، وحاولوا استخدام حلقة for حيثما أمكن ذلك.
ل بينما

نستخدم حلقة for إذا كنا نعرف بالفعل عدد التكرارات.

نستخدم whileحلقة إذا كنا لا نعرف بالضبط عدد التكرارات.

تمت بالفعل عملية التهيئة والتحقق من الحالة وتغيير العداد في بناء جملة الحلقة

التهيئة والتحقق من الحالة داخل الحلقة. يمكنك أيضًا استخدام العداد في البيانات.

حلقة لا نهائية لـ:

for(;;){
	System.out.println("working...");
}

حلقة لا نهائية بينما:

while(true){
	System.out.println("working...");
}

كيفية الخروج من حلقة في جافا

عادةً ما يتم تشغيل حلقة for مثل التدفق والطريقة الطبيعية للخروج من الحلقة هي عندما يأخذ الشرط قيمة خاطئة. ومع ذلك، هناك بياني تحكم يسمحان لك بالخروج من الحلقة قبل أن تحصل على القيمة الخاطئة للشرط — الفاصل والمتابعة.
  • يسمح Break بالخروج من نص الحلقة الحالية كما لو تم تقييم حالة الحلقة على خطأ.
  • continue يجعل الحلقة تنتقل إلى الخطوة التالية (تكرار العداد) دون تنفيذ العبارات.
دعونا نحل المشكلة التالية باستخدام الفاصل والمتابعة. لدينا مجموعة من الأسماء ونلقي التحية على الجميع من هذه المجموعة باستثناء الغرباء. لذا، إذا التقينا بسلسلة "غريبة" أثناء حلقتنا، فإننا نخرج منها (نبتعد ونتوقف لإلقاء التحية على أي شخص آخر).
public class ForBreakExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
       for (int i = 0; i < names.length; i++) {
//  how to break out of a for loop, java: check if we have any "Stranger" in  //  our array
if (names[i].equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               break;
           }
           System.out.println("Hello," + names[i]);
       }
   }
}
نتيجة تنفيذ برنامجنا هي:

Hello,Mike
Hello,Dustin
I don't chat with strangers
يرى؟ لقد هربنا من الحلقة قبل أن نستقبل لوكاس وويل. الآن دعونا نستخدم "متابعة"، فقط لتجاهل "الغريب" ولكن مع البقاء داخل الحلقة لإلقاء التحية على الأصدقاء الآخرين.
public class ForContinueExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
       for (int i = 0; i < names.length; i++) {
           if (names[i].equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               continue;
           }
           System.out.println("Hello," + names[i]);
       }
   }
}
النتيجه هي:

Hello,Mike
Hello,Dustin
I don't chat with strangers
Hello,Lucas
Hello,Will
ممتاز! لقد استقبلنا جميع الأصدقاء، لكننا لم نتحدث مع أي شخص غريب.

نسخة محسنة من الحلقة أو لكل منها

For-each هو نوع من حلقات for يتم استخدامه عندما تحتاج إلى معالجة جميع عناصر المصفوفة أو المجموعة. في الواقع، لا يتم استخدام عبارة "لكل" في هذه الدورة. بناء الجملة هو كما يلي:
for (type itVar: array)
{
    Block of operators;
}
حيث النوع هو نوع المتغير التكراري (نفس نوع بيانات المصفوفة)، ItVar هو اسمه، المصفوفة هي المصفوفة أو يمكن أن يكون هناك بنية بيانات أخرى، على سبيل المثال، ArrayList. كما ترون، لا يوجد عداد، متغير التكرار يتكرر على عناصر المصفوفة أو المجموعة، وليس قيم الفهرس. عند تنفيذ مثل هذه الحلقة، يتم تعيين قيمة كل عنصر من عناصر المصفوفة أو المجموعة لمتغير التكرار بشكل تسلسلي، وبعد ذلك يتم تنفيذ كتلة البيانات (أو العامل) المحددة. تنبيه: يمكن تطبيق حلقة for-each على المصفوفات وأي فئات تقوم بتنفيذ الواجهة java.lang.Iterable. دعونا نحل نفس المشكلة مع تحيات الأصدقاء، وتجاهل الغرباء ("Stranger") ولكن هذه المرة استخدم حلقة for-each.
public class ForEachExample {
   public static void main(String[] args) {
       String[] names = {"Mike", "Dustin", "Stranger", "Lucas", "Will"};
	//  for each loop, Java code
       for (String name : names) {
           if (name.equals("Stranger")) {
               System.out.println("I don't chat with strangers");
               continue;
           }
           System.out.println("hello, " + name);
       }
   }
}
لتعزيز ما تعلمته، نقترح عليك مشاهدة درس فيديو من دورة Java الخاصة بنا

المزيد من القراءة:

تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION