Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals 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 );
}
}
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
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 );
}
}
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
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 );
}
}
public class Main { public static void main(String[] args) { String web = "harmash.com"; System.out.print( web instanceof String ); } }

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

true
true

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