for loop

شرح تفصيلي لحلقة for في Dart

تُستخدم الحلقة for في لغة Dart لتنفيذ كود معين لعدد محدد من المرات. وهي مفيدة عندما تعرف عدد التكرارات مسبقًا.


الصيغة العامة لـ for في Dart

for (initialization; condition; increment/decrement) {
  // الكود الذي سيتم تنفيذه في كل تكرار
}
JavaScript
  • initialization: تعيين قيمة البداية للمتغير (عادةً يكون عدّاد الحلقة).
  • condition: الشرط الذي يجب أن يكون true لاستمرار الحلقة.
  • increment/decrement: تحديث قيمة العداد بعد كل تكرار.

مثال 1: طباعة الأرقام من 1 إلى 5

dartنسختحرير<code>void main() {
  for (int i = 1; i <= 5; i++) {
    print("القيمة الحالية لـ i هي: $i");
  }
}
</code>
JavaScript

🔹 الإخراج:

القيمة الحالية لـ i هي: 1
القيمة الحالية لـ i هي: 2
القيمة الحالية لـ i هي: 3
القيمة الحالية لـ i هي: 4
القيمة الحالية لـ i هي: 5
JavaScript

✅ تبدأ i من 1، وتزداد بمقدار 1 في كل تكرار، حتى تصل إلى 5.


مثال 2: طباعة الأرقام الزوجية من 2 إلى 10

void main() {
  for (int i = 2; i <= 10; i += 2) {
    print(i);
  }
}
JavaScript

🔹 الإخراج:

نسختحرير2
4
6
8
10

✅ في كل تكرار، يتم زيادة i بمقدار 2 بدلاً من 1.


مثال 3: العد التنازلي من 5 إلى 1

dartنسختحرير<code>void main() {
  for (int i = 5; i >= 1; i--) {
    print(i);
  }
}
</code>
JavaScript

🔹 الإخراج:

نسختحرير5
4
3
2
1

✅ هنا، i تبدأ من 5 وتتناقص حتى تصل إلى 1.


استخدام for مع List (القوائم)

يمكنك استخدام for مع القوائم (Lists) للوصول إلى كل عنصر فيها.

مثال 4: طباعة جميع العناصر في قائمة

<code>void main() {<br>  List<String> fruits = ["تفاح", "موز", "برتقال"];<br><br>  for (int i = 0; i < fruits.length; i++) {<br>    print(fruits[i]);<br>  }<br>}<br></code>
JavaScript

🔹 الإخراج:

نسختحريرتفاح
موز
برتقال

✅ استخدمنا fruits.length لتحديد عدد التكرارات.


استخدام for-in في Dart

إذا كنت تريد تكرار العناصر مباشرةً دون استخدام فهرس (index)، يمكنك استخدام for-in.

مثال 5: استخدام for-in مع قائمة

void main() {
  List<String> cars = ["BMW", "Toyota", "Tesla"];

  for (String car in cars) {
    print(car);
  }
}
Dart

🔹 الإخراج:

<code>BMW<br>Toyota<br>Tesla<br></code>
Dart

✅ هنا، كل مرة يتم تخزين قيمة جديدة من القائمة في car دون الحاجة لفهرس i.


استخدام forEach كبديل لـ for

طريقة أخرى لتكرار العناصر داخل القائمة هي forEach.

مثال 6: استخدام forEach مع قائمة

void main() {
  List<int> numbers = [1, 2, 3, 4, 5];

  numbers.forEach((num) {
    print(num);
  });
}
Dart

🔹 الإخراج:

نسختحرير<code>1
2
3
4
5
</code>
Dart

✅ هذه الطريقة أكثر وضوحًا عند التعامل مع القوائم.


for مع الشرط break و continue

مثال 7: استخدام break لإنهاء الحلقة مبكرًا

void main() {
 for (int i = 1; i <= 10; i++) {<br>    if (i == 5) {<br>
       print("تم الوصول إلى 5 وإيقاف الحلقة");<br>      break; // ينهي الحلقة عند الوصول إلى 5<br>    }<br>    print(i);<br>  }<br>}<br>
Dart

🔹 الإخراج:

1
2
3
4
تم الوصول إلى 5 وإيقاف الحلقة
Dart

✅ عند الوصول إلى i = 5، يتم تنفيذ break وتوقف الحلقة فورًا.


مثال 8: استخدام continue لتخطي تكرار معين

void main() {
  for (int i = 1; i <= 5; i++) {
    if (i == 3) {
      print("تخطي القيمة 3");
      continue; // يتجاوز هذا التكرار ويكمل الحلقة
    }
    print(i);
  }
}
Dart

🔹 الإخراج:

1
2
تخطي القيمة 3
4
5
Dart

✅ عند i = 3، يتم تنفيذ continue، مما يعني تخطي هذا التكرار والانتقال إلى الرقم التالي.


خلاصة

🔹 for تُستخدم عندما يكون لديك عدد محدد من التكرارات.
🔹 for-in تُستخدم لتكرار عناصر القوائم مباشرة.
🔹 forEach تُستخدم كطريقة أكثر مرونة لتمرير دوال على القوائم.
🔹 break تُستخدم لإنهاء الحلقة فورًا.
🔹 continue تُستخدم لتخطي تكرار معين والاستمرار في الحلقة.

🚀 الآن أصبح لديك فهم قوي لحلقة for في Dart! 🎯