الانتقال إلى المحتوى الرئيسي
الوحدة 1 · الدرس 2 من 22/14 في الدورة~12 min
دروس الوحدة (2/2)

التحكم في التدفق

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

الشروط الشرطية: if، else if، و else

تقوم عبارة if بتنفيذ كتلة من التعليمات البرمجية فقط إذا كان الشرط المنطقي المحدد صحيحًا.

Java
int temperature = 25;

if (temperature > 30) {
    System.out.println("Fa molto caldo!");
} else if (temperature >= 20) {
    System.out.println("Il clima è piacevole.");
} else {
    System.out.println("Fa freddo.");
}

العوامل المنطقية

يمكننا الجمع بين شروط متعددة باستخدام العوامل المنطقية:

  • && (AND): يُرجع true إذا كان كلا الشرطين صحيحين.
  • || (OR): يُرجع true إذا كان أحد الشروط على الأقل صحيحًا.
  • ! (NOT): يعكس القيمة المنطقية للشرط.
Java
boolean hasLicense = true;
boolean hasCar = false;

if (hasLicense && hasCar) {
    System.out.println("Puoi guidare.");
}

الحلقات: while و for

تسمح لنا الحلقات بتنفيذ مجموعة من التعليمات البرمجية بشكل متكرر.

الحلقة while

ينفذ الكود طالما بقي الشرط المحدد true.

Java
int count = 1;
while (count <= 3) {
    System.out.println("Conteggio: " + count);
    count++; // Increment count by 1
}

الحلقة for

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

Java
for (int i = 0; i < 5; i++) {
    System.out.println("Iteration: " + i);
}

الشروط الشرطية المتقدمة: switch

عندما نحتاج إلى مقارنة متغير واحد بقيم ثابتة متعددة، فإن عبارة switch تجعل الكود أكثر نظافة من كتل if-else المتعددة المتسلسلة.

Java
int dayOfWeek = 3;
switch (dayOfWeek) {
    case 1:
        System.out.println("Monday");
        break;
    case 2:
        System.out.println("Tuesday");
        break;
    case 3:
        System.out.println("Wednesday");
        break;
    default:
        System.out.println("Other day");
}

التحكم في الحلقة: break و continue

يمكننا تغيير التدفق الطبيعي للحلقة باستخدام بيانين خاصين:

  • break: ينهي فورًا تنفيذ الحلقة الأعمق، ويخرج منها تمامًا.
  • continue: يتخطى بقية التعليمات البرمجية في التكرار الحالي وينتقل مباشرة إلى تقييم الشرط للتكرار التالي (أو تعبير الزيادة في حلقة for).
Java
for (int i = 1; i <= 5; i++) {
    if (i == 3) {
        continue; // Skips printing for the number 3
    }
    System.out.println(i);
}

جربه بنفسك

تمرين#java.m1.l2.e1
المحاولات: 0جارٍ التحميل…

أكمل الكود عن طريق التحقق من متغير النتيجة: إذا كان أكبر من أو يساوي 60، فقم بطباعة Pass، وإلا قم بطباعة Fail.

جارٍ تحميل المحرر…
إظهار التلميح

استخدم `if (score >= 60) { ... } else { ... }` واطبع السلسلة المطلوبة بالضبط.

الحل متاح بعد 3 من المحاولات

تمرين#java.m1.l2.e2
المحاولات: 0جارٍ التحميل…

اكتب حلقة for لطباعة الأرقام من 1 إلى 5 (ضمنًا) على أسطر منفصلة.

جارٍ تحميل المحرر…
إظهار التلميح

استخدم التهيئة `int i = 1` والشرط `i <= 5` وقم بزيادة `i++` داخل رأس الحلقة `for`.

الحل متاح بعد 3 من المحاولات

تمرين#java.m1.l2.e3
المحاولات: 0جارٍ التحميل…

أكمل الكود باستخدام حلقة while لطباعة الأرقام من 3 إلى 1 (ضمنًا) على أسطر منفصلة.

جارٍ تحميل المحرر…
إظهار التلميح

اكتب while (count >= 1) { ... }` اطبع `count` ثم قم بتناقصه باستخدام `count--;`.

الحل متاح بعد 3 من المحاولات