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
.