مثير للإعجاب

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

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

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

بيان التبديل

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

/ / دعنا نقول أن المستخدم يختار الرقم 4
int القائمةاختيار = 4 ؛
التبديل (القائمةالاختيار)
{
حالة 1:
JOptionPane.showMessageDialog (خالية ، "لقد اخترت الرقم 1.") ؛
استراحة؛
الحالة 2:
JOptionPane.showMessageDialog (خالية ، "لقد اخترت رقم 2.") ؛
استراحة؛
الحالة 3:
JOptionPane.showMessageDialog (خالية ، "لقد اخترت رقم 3.") ؛
استراحة؛
// يتم اختيار هذا الخيار لأن القيمة 4 تطابق قيمة
// the menuChoise متغير
الحالة 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 أو بايت أو قصير أو int أو حرف أو بايت أو قصير أو عدد صحيح أو سلسلة أو تعداد.

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

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

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

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

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


شاهد الفيديو: Curso Java 03 - Variables @JoseCodFacilito (أغسطس 2021).