Javaعوامل أخرى مهمة في جافا
- العامل
?!(Conditional Operator) - العامل
instanceOf(Instance Of Operator)
العامل ?! (Conditional Operator)
العامل ?! يقال له Conditional أو Ternary Operator لأنه يأخذ ثلاث عناصر ليعمل.
يمكن إستعماله بدل جمل الشرط if و else في حال كنت تريد إعطاء قيمة للمتغير.
بناؤه
expression: يمثل الشرط الذي نضعه.value if true: تمثل القيمة التي ستعطى للمتغيرxإذا تحقق الشرط نضعها بعد الرمز?.value if false: تمثل القيمة التي ستعطى للمتغيرxإذا لم يتحقق الشرط نضعها بعد الرمز:.
المثال الأول
إذا كانت قيمة المتغير a تساوي 1 سيتم وضع القيمة 20 في المتغير b.
•إذا كانت قيمة المتغير a لا تساوي 1 سيتم وضع القيمة 30 في المتغير b.
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.
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.
مثال
public class Main { public static void main(String[] args) { String web = "harmash.com"; System.out.print( web instanceof String ); } }
سنحصل على النتيجة التالية عند التشغيل.
trueنلاحظ أنه عرض القيمة true لأن المتغير web هو كائن من الكلاس String.