استخدام بيان التبديل للعديد من الخيارات في جافا

click fraud protection

إذا كان برنامج Java الخاص بك يحتاج إلى الاختيار بين إجراءين أو ثلاثة ، إذا ، إذن ، آخر بيان سوف يكفي. ومع ذلك ، فإن إذا ، إذن ، آخر تبدأ العبارة في الشعور بالتعب عندما يكون هناك عدد من الخيارات التي قد يحتاجها البرنامج. لا يوجد سوى الكثير آخر... إذا البيانات التي تريد إضافتها قبل أن يبدأ الرمز في الظهور. عندما يكون القرار عبر خيارات متعددة مطلوبًا ، استخدم بيان التبديل.

بيان التبديل

يسمح بيان التبديل للبرنامج بالقدرة على مقارنة قيمة التعبير إلى قائمة القيم البديلة. على سبيل المثال ، تخيل أن لديك قائمة منسدلة تحتوي على الأرقام من 1 إلى 4. بناءً على الرقم الذي تم اختياره ، فأنت تريد أن يفعل البرنامج شيئًا مختلفًا:

/ / دعنا نقول أن المستخدم يختار الرقم 4
int القائمةاختيار = 4 ؛
التبديل (القائمةالاختيار)
{
حالة 1:
JOptionPane.showMessageDialog (خالية ، "لقد اخترت الرقم 1.") ؛
استراحة؛
الحالة 2:
JOptionPane.showMessageDialog (خالية ، "لقد اخترت رقم 2.") ؛
استراحة؛
الحالة 3:
JOptionPane.showMessageDialog (خالية ، "لقد اخترت رقم 3.") ؛
استراحة؛
// يتم اختيار هذا الخيار لأن القيمة 4 تطابق قيمة
// the menuChoise متغير
instagram viewer

الحالة 4: JOptionPane.showMessageDialog (خالية ، "لقد اخترت الرقم 4.") ؛ استراحة؛
إفتراضي:
JOptionPane.showMessageDialog (خالية ، "حدث خطأ ما!") ؛
استراحة؛
}

إذا نظرت إلى بناء جملة بيان التبديل ، يجب أن تلاحظ بعض الأشياء:

1. يتم وضع المتغير الذي يحتوي على القيمة التي يجب مقارنتها في الأعلى ، داخل الأقواس.

2. يبدأ كل خيار بديل بتسمية حالة. القيمة المراد مقارنتها بالأعلى متغير يأتي بعد ذلك ، تليها القولون. على سبيل المثال ، الحالة 1: هي تسمية الحالة متبوعة بالقيمة 1 - يمكن بسهولة أن تكون الحالة 123: أو الحالة -9:. يمكنك الحصول على العديد من الخيارات البديلة التي تحتاج إليها.

3. إذا نظرت إلى بناء الجملة أعلاه ، فسيتم تمييز الخيار البديل الرابع - تسمية الحالة ، والكود الذي ينفذه (مثل ، JOptionPane) وبيان الاستراحة. يشير بيان الفاصل إلى نهاية الكود الذي يجب تنفيذه. إذا نظرت ، سترى أن كل خيار بديل ينتهي ببيان فاصل. من المهم للغاية أن تتذكر أن تضع في بيان استراحة. النظر في التعليمات البرمجية التالية:

 / / دعنا نقول أن المستخدم يختار الرقم 1
int القائمةاختيار = 1 ؛
التبديل (القائمةالاختيار)
حالة 1:
JOptionPane.showMessageDialog (خالية ، "لقد اخترت الرقم 1.") ؛
الحالة 2:
JOptionPane.showMessageDialog (خالية ، "لقد اخترت رقم 2.") ؛
استراحة؛
الحالة 3:
JOptionPane.showMessageDialog (خالية ، "لقد اخترت رقم 3.") ؛
استراحة؛
الحالة 4:
JOptionPane.showMessageDialog (خالية ، "لقد اخترت رقم 4.") ؛
استراحة؛
إفتراضي:
JOptionPane.showMessageDialog (خالية ، "حدث خطأ ما!") ؛
استراحة؛
}

ما تتوقع أن يحدث هو أن ترى صندوق المحادثة قائلاً "لقد اخترت الرقم 1" ، ولكن نظرًا لعدم وجود عبارة فاصل تتطابق مع تسمية الحالة الأولى ، يتم أيضًا تنفيذ الرمز في تسمية الحالة الثانية. هذا يعني أن مربع الحوار التالي الذي يقول "لقد اخترت الرقم 2" سيظهر أيضًا.

4. يوجد تسمية افتراضية أسفل بيان التبديل. يشبه هذا شبكة الأمان في حالة عدم تطابق أي من قيم ملصقات الحالة مع القيمة التي يتم مقارنتها بها. من المفيد جدًا توفير طريقة لتنفيذ التعليمات البرمجية عند عدم اختيار أي من الخيارات المطلوبة.

إذا كنت تتوقع دائمًا اختيار أحد الخيارات الأخرى ، فيمكنك ترك التسمية الافتراضية ، ولكن وضع واحد في نهاية كل عبارة تبديل تقوم بإنشائها يعد عادة جيدة للدخول إليها. قد يبدو من غير المحتمل أن يتم استخدامه على الإطلاق ، لكن الأخطاء يمكن أن تتسلل إلى الكود ويمكن أن تساعد في التقاط الخطأ.

منذ JDK 7

أحد التغييرات في بناء جملة Java مع إصدار JDK 7 هو القدرة على الاستخدام سلاسل في عبارات التبديل. يمكن أن تكون القدرة على مقارنة قيم السلاسل في عبارة التبديل مفيدة للغاية:

اسم السلسلة = "Bob" ؛
التبديل (name.toLowerCase ())
{
الحالة "جو":
JOptionPane.showMessageDialog (فارغ ، "صباح الخير ، جو!") ؛
استراحة؛
حالة "مايكل":
JOptionPane.showMessageDialog (خالية ، "كيف الحال ، مايكل؟") ؛
استراحة؛
حالة "بوب":
JOptionPane.showMessageDialog (خالية ، "بوب ، صديقي القديم!") ؛
استراحة؛
حالة "بيلي":
JOptionPane.showMessageDialog (خالية ، "بعد الظهر بيلي ، كيف حال الأطفال؟") ؛
استراحة؛
إفتراضي:
JOptionPane.showMessageDialog (خالية ، "يسرني أن ألتقي بكم ، جون دو".) ؛
استراحة؛
}

عند مقارنة قيمتي String ، يمكن أن يكون الأمر أسهل إذا تأكدت من أنها جميعًا في نفس الحالة. باستخدام طريقة. toLowerCase يعني أن جميع قيم تسمية الحالة يمكن أن تكون في أحرف صغيرة.

أشياء يجب تذكرها حول بيان التبديل

• يجب أن يكون نوع المتغير الذي ستتم مقارنته من النوع char أو البايت أو short أو int أو Character أو Byte أو Short أو Integer أو String أو enum.

• لا يمكن أن تكون القيمة الموجودة بجوار ملصق الحالة متغيرًا. يجب أن يكون تعبيرًا ثابتًا (على سبيل المثال ، حرفي int ، حرفي char).

• يجب أن تكون قيم التعبيرات الثابتة عبر جميع تسميات الحالات مختلفة. سوف ينتج عن الخطأ وقت الترجمة:

التبديل (القائمةالاختيار)
{
الحالة 323:
JOptionPane.showMessageDialog (خالية ، "لقد اخترت الخيار 1.") ؛
استراحة؛
الحالة 323:
JOptionPane.showMessageDialog (خالية ، "لقد اخترت الخيار 2.") ؛
استراحة؛

• يمكن أن يكون هناك تسمية افتراضية واحدة فقط في بيان التبديل.

• عند استخدام كائن لبيان التبديل (على سبيل المثال ، سلسلة ، عدد صحيح ، حرف) ، تأكد من أنه ليس فارغًا. سيؤدي كائن فارغ إلى حدوث خطأ في وقت التشغيل عند تنفيذ عبارة التبديل.

instagram story viewer