المعاملات المنطقية - الجزء الثالث
جزء من قسم الأساسيات في رحلة Java على Coddy. الدرس 25 من 73.
عند Checking عدة conditions، يتوقف الكمبيوتر عن Checking بمجرد أن يعرف الإجابة النهائية (يُسمّى ذلك بالتقييم short-circuit).
على سبيل المثال:
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 خاطئ.
التحدي
مبتدئلننشئ برنامجًا لتحديد ما إذا كان يومًا جيدًا لإنتاج الطاقة من الألواح الشمسية
قم بتهيئة المتغيرات التالية:
isSunnyبالقيمة truewindSpeedبالقيمة 5.4temperatureبالقيمة 23solarPanelOutputبالقيمة 9isCloudyبالقيمة false
أنشئ تعبيرًا منطقيًا واحدًا يتحقق من كل هذه الشروط:
- الجو مشمس
- سرعة الرياح أقل من 10
- إنتاج اللوح الشمسي أقل من 15
- درجة الحرارة أعلى من 20 OR لا توجد غيوم
جرّب بنفسك
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);
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
دوال System.outتنسيق المخرجاتكلاس Scannerمراجعة - حتى 120مراجعة - صح أم خطأ5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع3المتغيرات - الجزء الثاني
الثوابتقواعد التسميةمراجعة - تهيئة المتغيراتتحويل الأنواع - الجزء الأولتحويل الأنواع - الجزء الثاني6اتخاذ القرار
جملة Ifجملة If - Elseجملة Switchالمعامل الثلاثيمراجعة - If Elseجملة If - Else المتداخلةتدرّب بنفسك: مترجم Java عبر الإنترنت