بيان التبديل هو واحد من العناصر الهامة للغة البرمجة جافا ويستخدم على نطاق واسع لمعالجة القيم المختلفة وتنفيذ كتل التعليمات البرمجية المقابلة لها. ومع ذلك ، فإن له العديد من العيوب التي يمكن أن تجعل من الصعب تطوير برنامج وجعله أقل فعالية. في هذه المقالة ، سننظر في الطرق البديلة التي يمكن استخدامها بدلا من مشغل التبديل.
أحد الأساليب التي يمكن استخدامها لاستبدال عبارة التبديل هو استخدام مجموعة متنوعة من العبارات الشرطية إذا كانت أخرى. في هذه الحالة ، يتم فحص كل شرط بدوره ، ويتم تنفيذ كتلة التعليمات البرمجية المقابلة إذا تطابق الشرط. هذا النهج يمكن أن يكون مفيدا عندما تحتاج إلى معالجة عدد كبير من القيم المختلفة ، والشرطية إذا-آخر البيانات هي أبسط من ذلك بكثير وأكثر قابلية للقراءة.
هناك طريقة أخرى وهي استخدام المصفوفات أو القواميس الترابطية ، حيث تتوافق كل قيمة ممكنة مع كتلة التعليمات البرمجية الخاصة بها. تسمح لك بنية البيانات هذه بمطابقة المفاتيح مع القيم وتنفيذ كتلة التعليمات البرمجية المقابلة حسب المفتاح. في جافا ، يمكن تنفيذ ذلك ، على سبيل المثال ، باستخدام فئة هاشماب أو إنوماب. يمكن أن يكون هذا النهج مفيدا بشكل خاص إذا كنت بحاجة إلى معالجة عدد كبير من القيم المختلفة بتنسيق فعال ومرن.
يتيح استخدام طرق بديلة لاستبدال مشغل التبديل في جافا لمطوري البرامج الحصول على مزيد من المرونة والتحكم في الكود ، فضلا عن زيادة قابلية القراءة والكفاءة. كل من الأساليب المقترحة لها خصائصها الخاصة وقابلة للتطبيق في مواقف مختلفة ، لذلك من المهم اختيار الخيار الأنسب اعتمادا على متطلبات مهمة محددة.
- متعددة إذا-آخر البيانات
- استخدام القواميس
- استراتيجية" إذا-خلاف ذلك"
- تعدد الأشكال
- التحويلات
- استخدام مكتبة لامبداج
- سؤال وجواب
- ما هي البدائل لمشغل التبديل موجودة في لغة جافا?
- ما هي ميزة استخدام إذا-آخر يبني بدلا من بيان التبديل?
- ما هي الأمثلة على استخدام هاشماب أو لينكدهاشماب بدلا من مشغل التبديل يمكن أن تعطى?
- النهج الذي لبدائل المشغل التبديل هو الأكثر فعالية?
متعددة إذا-آخر البيانات
متعددة إذا-آخر البيانات هي واحدة من الطرق لاستبدال المشغل التبديل في جافا. إنها تسمح لك بالتحقق من عدة شروط بالتتابع وتنفيذ كتلة التعليمات البرمجية المناسبة لكل منها.
يتكون بيان إذا-آخر من الكلمة الرئيسية " إذا " ، متبوعا بتعبير شرطي بين قوسين ، وكتلة من التعليمات البرمجية التي سيتم تنفيذها إذا كان الشرط صحيحا. إذا كان الشرط خاطئا ، فيمكنك إضافة كتلة من التعليمات البرمجية مع الكلمة الرئيسية "آخر" ، والتي سيتم تنفيذها في هذه الحالة.
لإنشاء عبارات متعددة إذا كان آخر ، يمكنك استخدام عبارات متعددة إذا كان آخر واحدا تلو الآخر لاختبار ظروف مختلفة. على سبيل المثال:
إذا (الشرط 1) {
// يتم تنفيذ الكود عند تنفيذ الشرط 1
} آخر إذا (الشرط 2) {
// يتم تنفيذ الكود عند تنفيذ الشرط 2
} آخر إذا (الشرط 3) {
// يتم تنفيذ الكود عند تنفيذ الشرط 3
} آخر {
// التعليمات البرمجية المنفذة في حالات أخرى
}
في هذا المثال ، إذا كان الشرط 1 صحيحا ، فسيتم تنفيذ أول كتلة من التعليمات البرمجية. إذا كان الشرط 1 خاطئا والشرط 2 صحيحا ، فسيتم تنفيذ الكتلة الثانية من التعليمات البرمجية. إذا لم يكن أي من الشروط صحيحا ، فسيتم تنفيذ كتلة التعليمات البرمجية بعد الكلمة الرئيسية "آخر".
ميزة متعددة إذا-آخر البيانات هي مرونتها والقدرة على التحقق من شروط متعددة في مكان واحد من التعليمات البرمجية. ومع ذلك ، إذا كان هناك الكثير من الشروط ، يمكن أن يصبح الرمز معقدا ويصعب قراءته وفهمه.
في بعض الحالات ، يمكن أن تحل عبارات متعددة إذا كانت أخرى محل عبارة التبديل ، خاصة إذا كانت الشروط بسيطة ومستقلة عن بعضها البعض. ومع ذلك ، في حالة وجود ظروف صعبة أو عدد كبير من الخيارات ، قد يكون استخدام مشغل التبديل أكثر ملاءمة ومفهومة.
استخدام القواميس
بدلا من مشغل التبديل في جافا ، يمكن استخدام القواميس لتنفيذ منطق بديل. القواميس هي هياكل البيانات التي تسمح لك لتخزين أزواج قيمة المفتاح. في جافا ، يمكنك استخدام الطبقات في جافا.حزمة أوتيل للعمل مع القواميس.
أولا ، تحتاج إلى إنشاء قاموس باستخدام فئة هاشماب:
قاموس الخريطة = خريطة التجزئة الجديدة();
هنا نوع المفتاح هو نوع بيانات المفتاح ، ونوع القيمة هو نوع بيانات القيمة. على سبيل المثال ، إذا كانت المفاتيح من نوع سلسلة والقيم هي من نوع صحيح ، ثم إعلان القاموس سوف تبدو مثل هذا:
قاموس الخريطة = خريطة التجزئة الجديدة();
ثم يمكنك إضافة عناصر إلى القاموس باستخدام طريقة وضع:
قاموس.وضع (مفتاح 1 ، قيمة1);
قاموس.وضع (مفتاح 2 ، قيمة2);
...
حيث المفتاح 1 ، المفتاح 2 هي قيم المفاتيح ، والقيمة 1 ، القيمة 2 هي قيم العناصر.
للحصول على قيمة عنصر حسب المفتاح ، يمكنك استخدام طريقة الحصول على:
قيمة نوع القيمة = القاموس.الحصول على (مفتاح);حيث المفتاح هو قيمة المفتاح ، والقيمة هي القيمة المستلمة للعنصر. إذا لم يتم العثور على عنصر مع مثل هذا المفتاح ، فإن الطريقة ترجع فارغة.
باستخدام القواميس ، يمكنك تنفيذ منطق مشابه لبيان التبديل. على سبيل المثال ، يمكنك استخدام قيم المفاتيح لتعيين الشروط وقيم العناصر لتنفيذ الإجراءات المناسبة:
إجراءات الخريطة = خريطة التجزئة الجديدة();
الإجراءات.وضع ("أ" ، () - > النظام.خارج.برينتلن ("الإجراء أ"));
الإجراءات.وضع ("ب" ، () - > النظام.خارج.برينتلن ("الإجراء ب"));
الإجراءات.وضع ("ج" ، () - > النظام.خارج.برينتلن ("الإجراء ج"));
مفتاح السلسلة = "ب";
إذا (الإجراءات.يحتوي على مفتاح (مفتاح)) {
الإجراءات.احصل على (مفتاح).تشغيل();
} آخر {
النظام.خارج.برينتلن ("عمل غير معروف");
}
في هذا المثال ، عند تنفيذ إجراء باستخدام المفتاح " ب "، سيتم إخراج السلسلة" الإجراء ب". إذا لم يتم العثور على المفتاح ، فسيتم عرض الرسالة "إجراء غير معروف".
يتيح لك استخدام القواميس إدارة منطق البرنامج بمرونة أكبر وتبسيط عملية تحجيم الكود وصيانته.
استراتيجية" إذا-خلاف ذلك"
استراتيجية "إذا-خلاف ذلك" هو بديل لبيان التبديل في جافا ويسمح لك لتنفيذ إجراءات مختلفة اعتمادا على قيمة متغير أو شرط. وتستند هذه الاستراتيجية على استخدام سلسلة من بنيات إذا-آخر.
مثال على استخدام استراتيجية" إذا-خلاف ذلك":
عدد الباحث = 5;
إذا (عدد == 1) {
النظام.خارج.برينتلن ("المتغير هو 1");
} آخر إذا (عدد == 2) {
النظام.خارج.برينتلن ("المتغير هو 2");
} آخر إذا (عدد == 3) {
النظام.خارج.برينتلن ("المتغير هو 3");
} آخر {
النظام.خارج.برينتلن ("المتغير لا يساوي 1 أو 2 أو 3");
}
في هذا المثال ، بناء على قيمة متغير الرقم ، سيتم عرض رسالة مقابلة. إذا كانت قيمة الرقم 1 ، فسيتم إخراج "المتغير هو 1". إذا كانت قيمة الرقم 2 ، فسيتم إخراج "المتغير 2". إذا كانت قيمة الرقم 3 ، فسيتم إخراج "المتغير هو 3". إذا كانت قيمة الرقم لا تساوي 1 أو 2 أو 3 ، فسيتم إخراج" المتغير لا يساوي 1 أو 2 أو 3".
استراتيجية "إذا-خلاف ذلك" يمكن أن تكون أكثر مرونة من بيان التبديل ، لأنه يسمح لك لاستخدام الظروف المعقدة في إذا-آخر يبني. على سبيل المثال:
كثافة العمليات العمر = 25;
إذا (العمر >= 18 && العمر <= 30) {
النظام.خارج.برينتلن ("العمر من 18 إلى 30");
} آخر إذا (العمر > 30) {
النظام.خارج.برينتلن(" أكثر من 30 عاما");
} آخر {
النظام.خارج.برينتلن ("العمر أقل من 18 عاما");
}
في هذا المثال ، إذا كان العمر في النطاق من 18 إلى 30 عاما (ضمنا) ، فسيتم عرض "العمر من 18 إلى 30 عاما". إذا كان العمر أكثر من 30 ، فسيتم عرض "العمر فوق 30 عاما". إذا كان العمر أقل من 18 عاما ، فسيتم عرض "العمر أقل من 18 عاما".
وبالتالي ، فإن استراتيجية" إذا-خلاف ذلك " توفر آلية مرنة لتنفيذ إجراءات مختلفة اعتمادا على قيم المتغيرات أو الشروط.
تعدد الأشكال
تعدد الأشكال هو أحد المفاهيم الأساسية للبرمجة الموجهة للكائنات ، والتي تتيح لك استخدام كائنات من فئات مختلفة بنفس الواجهة.
في جاوة ، يتحقق تعدد الأشكال من خلال الميراث واستخدام المراجع متعددة الأشكال.
تسمح لك المراجع متعددة الأشكال بالوصول إلى كائنات من فئات مختلفة ، ولكن بنفس الواجهة. هذا يسمح لك باستدعاء الأساليب المحددة في الواجهة دون معرفة فئة معينة من الكائن.
على سبيل المثال ، ضع في اعتبارك الكود التالي:
هذا.نصف القطر = نصف القطر;
}
العامة مزدوجة جيتاريا () {
عودة الرياضيات.بي * دائرة نصف قطرها * دائرة نصف قطرها;
}
}
إنشاء كائنات من فئتي "المستطيل" و " الدائرة "واستدعاء طرق" الحصول على المنطقة " عبر روابط متعددة الأشكال:
مستطيل الشكل = مستطيل جديد (5 ، 10);
دائرة الشكل = دائرة جديدة (2);
مستطيل مزدوجالمنطقة = مستطيل.جيتاريا();
دائرة مزدوجةالمنطقة = دائرة.جيتاريا();
نتيجة لتنفيذ الكود ، نحصل على مساحات مستطيل ودائرة باستخدام الطرق المحددة في فئة "الشكل" ، ولكن يتم تنفيذها في فئتي "المستطيل" و "الدائرة".
يتيح لك استخدام تعدد الأشكال تبسيط الكود وضمان مرونته وتسهيل إضافة فئات جديدة تنفذ واجهة" الشكل".
التحويلات
التعدادات في جافا هي نوع بيانات خاص يحتوي على مجموعة ثابتة من الثوابت. أنها توفر وسيلة مريحة لتحديد واستخدام قائمة محدودة من القيم.
لإنشاء تعداد في جافا ، يتم استخدام الكلمة الرئيسية التعداد. فيما يلي مثال على تعريف تعداد بسيط:
أيام الأسبوع {
الاثنين,
الثلاثاء,
الأربعاء,
الخميس,
الجمعة,
السبت,
الأحد
- أيام الأسبوع التالي اليوم = اليوم الحالي.جيتنيكستداي();
النظام.خارج.برينتلن ("اليوم التالي:" + اليوم التالي);
- في هذا المثال ، أضفنا طريقة جيتنيكستداي () ، والتي ترجع في اليوم التالي من الأسبوع. إذا كان اليوم الحالي هو الأحد ، فإن الطريقة ترجع يوم الاثنين ، وإلا فإن الطريقة ترجع في اليوم التالي بالترتيب.
- يعمل استخدام التعدادات على تحسين إمكانية قراءة التعليمات البرمجية ودعمها ، لأنها توفر أسماء صريحة للقيم ، بالإضافة إلى توفير فحص النوع في وقت الترجمة.
- استخدام مكتبة لامبداج
لامبداج هي مكتبة توفر القدرة على استخدام البرمجة الوظيفية في لغة جافا. يسمح لك باستخدام تعبيرات لامدا ووظائف الترتيب الأعلى ، مما يجعل الكود أكثر إحكاما وقابلية للقراءة.
قد يكون استخدام مكتبة لامداج بدلا من بيان التبديل في جافا حلا أكثر مرونة وأناقة. بدلا من إنشاء كتلة كبيرة من التعليمات البرمجية مع العديد من فروع الحالة ، يمكنك استخدام وظائف خاصة للتعامل مع الحالات المختلفة.
مثال على استخدام مكتبة لامداج:
إضافة تبعية على مكتبة لامداج في ملف بوم.شمل: