المعامل الثلاثي
condition ? a : b
المعامل الثلاثي درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Java Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Java Academy 4 دروس في المجموع.
ما المعامل الثلاثي؟
المعامل الثلاثي هو المعامل الوحيد في Java الذي يتعامل مع ثلاثة معاملات. وهو طريقة مختصرة للاختيار بين قيمتين استنادًا إلى شرط.
يأخذ الشكل التالي: condition ? valueIfTrue : valueIfFalse.
ينتج قيمة، لذا يمكنك إسنادها إلى متغير أو تمريرها مباشرةً.
int age = 20;
String status = age >= 18 ? "adult" : "minor";الأجزاء الثلاثة
الجزء الأول هو شرط منطقي. ويفصل الرمز ? بينه وبين النتيجتين.
إذا كان الشرط صحيحًا، يُقيَّم التعبير إلى الجزء الذي يسبق :. وإذا كان خاطئًا، يُقيَّم إلى الجزء الذي يلي :.
يُقيَّم فرع واحد فقط من الفرعين فعليًا.
int score = 45;
String result = score >= 50 ? "pass" : "fail";مثال كامل قابل للتشغيل
إليك برنامجًا كاملًا يطبع تسمية استنادًا إلى رقم.
يحدّد الشرط n % 2 == 0 ما إذا كان سيتم استخدام "even" أو "odd".
public class Main {
public static void main(String[] args) {
int n = 7;
String parity = n % 2 == 0 ? "even" : "odd";
System.out.println(parity);
}
}إنه تعبير
بخلاف جملة if، فإن المعامل الثلاثي هو تعبير؛ أي إن له قيمة.
وهذا يعني أنه يمكنك استخدامه داخل استدعاءات الدوال، وعبارات الإرجاع، وعمليات الإسناد التي لا تناسبها جملة.
public class Main {
public static void main(String[] args) {
int a = 9, b = 4;
System.out.println("Max is " + (a > b ? a : b));
}
}اختيار الأرقام
لا يلزم أن يكون الفرعان سلسلتين نصيتين. يختار المعامل الثلاثي هنا الأكبر بين عددين من النوع int.
النتيجة من النوع int، ويمكنك تخزينها وإعادة استخدامها.
public class Main {
public static void main(String[] args) {
int x = 12, y = 30;
int max = x > y ? x : y;
System.out.println(max);
}
}يجب أن تكون للفرعين أنواع متوافقة
تحتاج Java إلى معرفة نوع التعبير بأكمله، لذلك يجب أن تكون للفرعين أنواع متوافقة.
إذا كان أحد الفرعين من النوع int والآخر من النوع String، فلن تُترجم الشفرة.
احرص على أن يكون كلا الجانبين من النوع نفسه من القيم.
boolean ok = true;
// valid: both ints
int code = ok ? 200 : 404;
// invalid: int vs String would not compileالإرجاع من دالة
تتألق المعاملات الثلاثية داخل عبارات return، إذ تستبدل بنية if/else مؤلفة من أربعة أسطر بسطر واحد.
تعيد الدالة أدناه القيمة المطلقة لرقم.
public class Main {
static int abs(int n) {
return n < 0 ? -n : n;
}
public static void main(String[] args) {
System.out.println(abs(-8));
}
}استخدامه في الإخراج
يمكنك تضمين معامل ثلاثي مباشرةً داخل استدعاء طباعة.
ضعه بين قوسين عند الدمج، حتى يتم تجميع ? و: قبل أن يضم الرمز + النص.
public class Main {
public static void main(String[] args) {
int items = 0;
System.out.println("Cart: " + (items == 0 ? "empty" : "has items"));
}
}اختيار تحية
من الاستخدامات الشائعة اختيار إحدى رسالتين.
يتحقق الشرط من قيمة منطقية، ويختار المعامل الثلاثي نص التحية المطابق.
public class Main {
public static void main(String[] args) {
boolean morning = true;
String greet = morning ? "Good morning" : "Hello";
System.out.println(greet);
}
}أولوية المعاملات
للمعامل الثلاثي أولوية منخفضة جدًا، لذلك تُنفَّذ العمليات الحسابية والمقارنات داخله أولًا.
في a + b > 10 ? "big" : "small"، تحسب Java قيمة a + b، ثم تقارنها، ثم تختار فرعًا.
أضف أقواسًا عند المزج مع + لدمج السلاسل النصية.
int a = 6, b = 7;
String size = a + b > 10 ? "big" : "small";الإسناد استنادًا إلى الإدخال
تُعد المعاملات الثلاثية مناسبة جدًا لتهيئة متغير في خطوة واحدة.
تُضبط الرسوم هنا على الصفر للأعضاء، وعلى مبلغ ثابت لغيرهم.
public class Main {
public static void main(String[] args) {
boolean isMember = false;
double fee = isMember ? 0.0 : 9.99;
System.out.println(fee);
}
}تحقّق سريع
اختبر مدى فهمك لصيغة المعامل الثلاثي.
مراجعة
المعامل الثلاثي condition ? a : b هو تعبير شرطي مختصر ومكوّن من ثلاثة أجزاء في Java.
يعيد قيمة، ويقيّم فرعًا واحدًا فقط، ويتطلب نوعين متوافقين على جانبيه.
استخدمه لإسناد إحدى قيمتين أو إرجاعها أو طباعتها بطريقة واضحة.
الأسئلة الشائعة
هل درس «المعامل الثلاثي» مجاني؟
نعم — نص درس «المعامل الثلاثي» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 4 دروس في المجموع.
ماذا ستتعلم في «المعامل الثلاثي»؟
condition ? a : b تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟
لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «المعامل الثلاثي»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟
نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.