Menu
CoddyTech

المعاملات المنطقية - الجزء الثالث

جزء من قسم الأساسيات في رحلة Java على Coddy. الدرس 25 من 73.

عند التحقق من شروط متعددة، يتوقف الحاسوب عن التحقق بمجرد أن يعرف الإجابة النهائية (يُسمّى هذا التقييم قصير الدارة).

على سبيل المثال:

int x = 0;
int y = 5;
boolean result = x != 0 && y / x > 2;

هنا x تساوي 0، لذلك لن يقيّم التعبير y / x > 2. إذا عكسنا الترتيب:

boolean result = y / x > 2 && x != 0;

سيؤدي هذا إلى حدوث خطأ لأن y ستُقسَم على 0، وهذا غير مسموح به في الرياضيات.

تُستخدم هذه التقنية لتحسين تقييم التعبيرات المنطقية. على سبيل المثال:

int a = 0;
int b = 2;
int c = 3;
int d = 5;
boolean result = (a > 0 && b < 2) || (c < -5 && d < 10);

في هذا المثال، لن يتم تقييم b < 2 وd < 10 لأن a > 0 وc < -5 كلاهما خطأ.

challenge icon

التحدي

مبتدئ

لننشئ برنامجًا لتحديد ما إذا كان اليوم مناسبًا لإنتاج الطاقة باستخدام الألواح الشمسية

هيّئ هذه المتغيرات:

  • isSunny بالقيمة true
  • windSpeed بالقيمة 5.4
  • temperature بالقيمة 23
  • solarPanelOutput بالقيمة 9
  • isCloudy بالقيمة false

أنشئ تعبيرًا منطقيًا واحدًا يتحقق من جميع هذه الشروط:

  • الجو مشمس
  • سرعة الرياح أقل من 10
  • إنتاج الألواح الشمسية أقل من 15
  • درجة الحرارة أعلى من 20 أو لا توجد غيوم

جرّب بنفسك

public class Main {
    public static void main(String[] args) {
        // هيّئ المتغيرات
        // استبدل كل قيمة مؤقتة أدناه بالقيمة المطلوبة في المهمة
        boolean isSunny = false;
        double windSpeed = 0.0;
        int temperature = 0;
        int solarPanelOutput = 0;
        boolean isCloudy = false;

        // التعبير المنطقي الكامل
        // استبدل القيمة المؤقتة أدناه بتعبير واحد يجمع الشروط الأربعة كلها
        boolean result = false;

        // لا تحذف الأسطر أدناه
        System.out.println("Checking conditions for solar energy production...");
        System.out.println("1. Is it sunny? " + isSunny);
        System.out.println("2. Is wind speed safe? " + (windSpeed < 10));
        System.out.println("3. Can panels produce more? " + (solarPanelOutput < 15));
        System.out.println("4. Is temperature good OR no clouds? " + (temperature > 20 || !isCloudy));
        System.out.println("\nFinal result - Good day for solar energy production: " + result);
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: مترجم Java عبر الإنترنت