الكورس

Advertisements

Java For..Loop


يتم استخدام for loop عندما تعرف بالضبط عدد المرات التي تريد فيها تكرار كتلة من التعليمات البرمجية.

 

هناك ثلاثة أنواع من for loops:

  • Simple For Loop
  • For-each Loop
  • Labeled Loop

 


 

Java Simple For Loop

 

نستخدم عبارة for loop عندما نعرف بالضبط عدد المرات التي تريد فيها التكرار + يمكننا تهيئة المتغير ، والتحقق من الشرط وقيمة الزيادة أو النقصان.

 

بناء جملة for loop كالتالى:

for(initialization;condition;incr/decr){  
  // Statement or code to be executed  
}  

 

💡 يتكون الـ for loop من أربعة أجزاء:

  1. التهيئة Initialization: هو الشرط الأول الذي يتم تنفيذه مرة واحدة عند بدء الحلقة + يمكننا تهيئة المتغير ، أو يمكننا استخدام متغير تمت تهيئته بالفعل (شرط اختياري).
  2. الحالة Condition: هو الشرط الثاني الذي يتم تنفيذه في كل مرة لاختبار حالة الحلقة، يستمر التنفيذ حتى يكون الشرط false + يجب أن تُرجع القيمة المنطقية إما true أو false، (شرط اختياري).
  3. العبارة Statement: يتم تنفيذ بيان الحلقة في كل مرة حتى يصبح الشرط الثاني false.
  4. زيادة أو إنقاص Increment/Decrement: زيادة أو إنقاص قيمة المتغير. إنه (شرط اختياري).

 

مثال للتوضيح:

public class MainClass {
  public static void main(String[] args) {
    
    for(int z = 1;z < 5; z++){  
      System.out.println("Value is: "+ z);
    }  

  }
}

outputs:

Value is: 1
Value is: 2
Value is: 3
Value is: 4

Java Nested For Loop

 

إذا كان لدينا for loop داخل loop أخرى ، فإنها تُعرف بالحلقة المُتداخلة + يتم تنفيذ الحلقة الداخلية بالكامل عند تنفيذ الحلقة الخارجية.

 

مثال للتوضيح:

public class MainClass {
  public static void main(String[] args) {
    
    for(int z = 1;z < 3; z++){ // Start z loop

      for(int i = 1;i < 5; i++){ // Start i loop
        System.out.println("Value is: "+ i);
      }  // End i loop

    }  // End z loop

  }
}

outputs:

Value is: 1
Value is: 2
Value is: 3
Value is: 4
Value is: 1
Value is: 2
Value is: 3
Value is: 4

Java for-each Loop

 

تُستخدم الحلقة for-each لاجتياز المصفوفة array أو التجميع collection في java + إنها أسهل في الاستخدام وبسيطة لأننا لا نحتاج إلى زيادة القيمة واستخدام كود أقل.

 

تعمل على أساس العناصر وليس الـ index، تقوم بإرجاع العنصر واحدًا تلو الآخر في المتغير المحدد.

 

بناء جملة for-each كالتالى:

for (type Variable : arrayName) {
  // Code to be executed  
}

مثال للتوضيح:

public class MainClass {
  public static void main(String[] args) {
    
    // Declaring an array  
    int[] arr = {10, 20, 30, 40, 50};

    // Print numbers is array using for-each loop  
    for(int i : arr){  
        System.out.println("Number is: " + i);  
    }  

  }
}

outputs:

Number is: 10
Number is: 20
Number is: 30
Number is: 40
Number is: 50

Java Labeled For Loop

 

يمكن أن يكون لدينا اسم لكل حلقة، للقيام بذلك نستخدم label قبل حلقة for.

من المفيد إذا لدينا حلقات متداخلة حتى نتمكن من الـ break والـ continue المحددة للحلقة.

 

بناء جملة labeled for loop كالتالى:

labelname:  
for(initialization;condition;incr/decr){  
  // Code to be executed  
} 

مثال للتوضيح:

public class MainClass {
  public static void main(String[] args) {
    
    // Using Label for outer and for loop  
    first:  
    for(int i=1; i<=4; i++){  
        second:  
        for(int x=1;x<=4;x++){  

            if(i==3 && x==3){
                break first;  
            }

            System.out.println(i + " " + x);  
        }  
    }

  }
}

outputs:

1 1
1 2
1 3
1 4
2 1
2 2
2 3
2 4
3 1
3 2

💡 إذا إستخدمت break second، فسوف توقف الحلقة الداخلية فقط وهو السلوك الافتراضي لأي حلقة.

 

💡 لا تقلق سنتكلم عن الـ break و continue بالتفصيل فى الفصل القادم.


 

Java Infinitive For Loop

 

إذا كنت تستخدم فاصلة منقوطة ; ; في الحلقة for ، ستكون  infinitive for loop.

 

بناء جملة infinitive for loop كالتالى:

for(;;){  
  // Code to be executed  
}

مثال للتوضيح:

public class MainClass {
  public static void main(String[] args) {
    
     // Not using condition in for loop  
     for(;;){
      System.out.println("This infinitive loop");
     }

  }
}

💡 ستظل الـ infinitive loop السابقة فى العمل حتى تضغط على ctrl + c لتوقف عمل البرنامج.

 



الإبلاغ عن خطأ

×

إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:

[email protected]

شكرًا لك على مساعدتك لنا!

Advertisements