Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

Javaعوامل أخرى مهمة في جافا

  • العامل ?! (Conditional Operator)
  • العامل instanceOf (Instance Of Operator)

العامل ?! (Conditional Operator)

العامل ?! يقال له Conditional أو Ternary Operator لأنه يأخذ ثلاث عناصر ليعمل.
يمكن إستعماله بدل جمل الشرط if و else في حال كنت تريد إعطاء قيمة للمتغير.


بناؤه

variable x = (expression) ? value if true : value if false
  • expression:   يمثل الشرط الذي نضعه.
  • value if true:   تمثل القيمة التي ستعطى للمتغير x إذا تحقق الشرط نضعها بعد الرمز ?.
  • value if false:   تمثل القيمة التي ستعطى للمتغير x إذا لم يتحقق الشرط نضعها بعد الرمز :.


المثال الأول

إذا كانت قيمة المتغير a تساوي 1 سيتم وضع القيمة 20 في المتغير b.
إذا كانت قيمة المتغير a لا تساوي 1 سيتم وضع القيمة 30 في المتغير b.

Main.java
public class Main {
 
    public static void main(String[] args) {
 
        int a = 10;
 
        int b = (a == 1) ?20 :30;
 
        System.out.println( "b = " +b );
 
    }
 
}

سنحصل على النتيجة التالية عند التشغيل.

b = 30

نلاحظ أنه تم وضع القيمة 30 في b لأن نتيجة الشرط كانت false.


المثال الثاني

إذا كانت قيمة المتغير a أكبر من 1 سيتم وضع القيمة 20 في المتغير b.
إذا كانت لم تكن قيمة المتغير a أكبر من 1 سيتم وضع القيمة 30 في المتغير b.

Main.java
public class Main {
 
    public static void main(String[] args) {
 
        int a = 10;
 
        int b = (a > 1) ?20 :30;
 
        System.out.println( "b = " +b );
 
    }
 
}

سنحصل على النتيجة التالية عند التشغيل.

b = 20

نلاحظ أنه تم وضع القيمة 20 في b لأن نتيجة الشرط كانت true.



العامل instanceOf (Instance Of Operator)

العامل instanceOf يستخدم لمعرفة الكلاس الذي إشتق منه الكائن أو يمكنك القول لمعرفة أصل الكائن.

  • إذا كان الكائن الموضوع قبل العامل instanceOf مشتق من الكلاس أو الإنترفيس الموضوع بعدها فإنه يرجع true.
  • إذا لم يكن مشتقاً منه فإنه يرجع false.

مثال

Main.java
public class Main {
 
    public static void main(String[] args) {
 
        String web = "harmash.com";
 
        System.out.print( web instanceof String );
 
    }
 
}

سنحصل على النتيجة التالية عند التشغيل.

true

نلاحظ أنه عرض القيمة true لأن المتغير web هو كائن من الكلاس String.