واحدة من السمات الرئيسية للغة البرمجة جافا هو استخدام بناء التبديل لتحديد عمل اعتمادا على قيمة متغير. ومع ذلك ، لا يعلم الجميع أنه في جافا ، يتطلب بناء التبديل استخدام التعبيرات الثابتة كحجة.
التعبير الثابت هو قيمة يمكن حسابها في وقت الترجمة ولا يمكن تغييرها أثناء تنفيذ البرنامج. يمكن أن يكون هذا ، على سبيل المثال ، ثابتا صحيحا أو رمزيا ، أو ثابتا للتعداد.
ميزة استخدام تعبير ثابت في التبديل هو أنه يسمح للمترجم لتحسين التعليمات البرمجية. يمكن للمترجم إنشاء جدول انتقال حيث تتوافق كل قيمة لمتغير مع قسم معين من التعليمات البرمجية. وبالتالي ، يتم اختيار قسم الكود المطلوب في وقت ثابت ، مما يحسن أداء البرنامج.
إذا كنت تستخدم تعبيرا غير ثابت كوسيطة تبديل-على سبيل المثال ، متغير قد تتغير قيمته أثناء تنفيذ البرنامج - فسيقوم المترجم بإلقاء خطأ. في هذه الحالة ، من الأفضل استخدام بناء إذا-آخر لتحديد إجراء اعتمادا على قيمة المتغير.
- المشكلة مع التعبير المستمر في التبديل جافا
- لماذا هو التعبير المستمر المطلوب في التبديل جافا
- كيفية استخدام تعبير ثابت في مفتاح جافا
- لماذا لا يمكن استخدام المتغيرات في تبديل جافا
- متى تستخدم تعبيرا ثابتا في مفتاح جافا
- أمثلة على استخدام تعبير ثابت في مفتاح جافا
- ميزات استخدام تعبير ثابت في مفتاح جافا
- توصيات لاستخدام تعبير ثابت في مفتاح جافا
المشكلة مع التعبير المستمر في التبديل جافا
في جافا ، يوفر بيان التبديل وسيلة مريحة لتنفيذ كتل مختلفة من التعليمات البرمجية اعتمادا على قيمة متغير. ومع ذلك ، هناك قيود تسبب أحيانا مشاكل: يجب أن يكون التعبير داخل بيان التبديل ثابتا.
التعبير الثابت في سياق التبديل يعني أن التعبير لا يمكن أن يعتمد على قيم المتغيرات ، ولكن يجب إصلاحه. هذا يعني أنه لا يمكن استخدام المتغيرات والوظائف والأساليب ونتائج الحساب والقيم الأخرى غير المعروفة في التعبير. بدلا من ذلك ، يتم استخدام القيم الحرفية أو قيم التعداد أو الثوابت فقط.
يمكن أن تنشأ مشكلة التعبير الثابت في المواقف التي يكون فيها من الضروري تنفيذ إجراءات مختلفة اعتمادا على قيمة متغير غير ثابت. على سبيل المثال ، عندما تحتاج إلى مقارنة سلسلة بقيم محددة أو تنفيذ تعبيرات شرطية.
دعونا ننظر إلى مثال على الاستخدام الخاطئ لمشغل التبديل:
الحالة 1:
الحالة 2:
النظام.خارج.برينتلن ("س يساوي 2");
استراحة;
الحالة س > 3: / / خطأ في التجميع-التعبير ليس ثابتا
النظام.خارج.برينتلن ("س أكبر من 3");
استراحة;
- الافتراضي:
- النظام.خارج.برينتلن ("س لا يتطابق مع أي من الحالات");
- استراحة;
}
في هذا المثال ، سيقوم المترجم بإرجاع خطأ لأن التعبير
س > 3انها ليست ثابتة. بدلا من ذلك ، تحتاج إلى استخدام عامل التشغيل إذا كان آخر لتنفيذ التعبيرات الشرطية:
إنت س = 5;
إذا (س = = 1) {
النظام.خارج.برينتلن ("س يساوي 1");
- } آخر إذا (س = = 2) {
- النظام.خارج.برينتلن ("س يساوي 2");
- } آخر إذا (س > 3) {
النظام.خارج.برينتلن ("س أكبر من 3");
} آخر {
النظام.خارج.برينتلن ("س لا يتطابق مع أي من الحالات");
}
يسمح لك استخدام عامل التشغيل إذا كان آخر بالعمل مع المتغيرات والتعبيرات الشرطية ، ولا يقتصر على القيم الثابتة فقط. ومع ذلك ، يجب أن نتذكر أنه عند استخدام عدد كبير من خيارات الشرط ، قد يكون بيان التبديل أكثر قابلية للقراءة وملاءمة في بعض الحالات.
لذا ، فإن مشكلة التعبير الثابت في بيان التبديل تتطلب تطبيقا دقيقا لهذا البناء والاستخدام الإلزامي للقيم الثابتة أو الحرفية. إذا كنت بحاجة إلى العمل مع المتغيرات أو التعبيرات الشرطية ، فاستخدم عامل التشغيل إذا كان آخر.
لماذا هو التعبير المستمر المطلوب في التبديل جافا
وضوح الكود: يساعد التقييد على التعبيرات الثابتة على جعل الكود أكثر قابلية للفهم وسهولة في القراءة. عندما يرى المطور بنية تبديل ذات تعبيرات ثابتة ، فإنه يوضح بوضوح أنه يتم تحديد فروع التعليمات البرمجية بناء على القيم المحددة ، ولا يوجد شك حول إمكانية تغيير هذه القيم أثناء تنفيذ البرنامج.
في جافا ، يوفر مشغل التبديل الاختيار بين العديد من خيارات تنفيذ التعليمات البرمجية الممكنة ، اعتمادا على قيمة التعبير. في الحالة القياسية ، يمكن أن يكون التعبير في بيان التبديل أي قيمة صحيحة أو سلسلة أو تعداد. ومع ذلك ، بدءا من جافا 7 ، فمن الممكن أيضا استخدام تعبير ثابت كمجموعة صالحة من القيم.
التعبير الثابت هو تعبير يمكن تحديد قيمته في وقت الترجمة ولا يتغير أثناء تنفيذ البرنامج. في جافا ، يمكن أن تكون أنواع البيانات التالية ثابتة: أنواع بسيطة (بايت ، قصيرة ، إنت ، طويلة ، تعويم ، مزدوجة ، شار ، منطقية) ، سلاسل ، التعدادات ، وبعض الأنواع الأخرى (على سبيل المثال ، فئات المجمع).
من أجل استخدام تعبير ثابت في عبارة التبديل ، يجب عليك استخدام الكلمة الأساسية "نهائي" قبل الإعلان عن المتغير الذي يحتوي على التعبير. على سبيل المثال:}
في هذا المثال ، يتم الإعلان عن متغير فار مع المعدل النهائي وله القيمة 3. يقارن بيان التبديل قيمة متغير فار مع قيم كل حالة. في حالة تطابق القيمة ، يتم تنفيذ كتلة التعليمات البرمجية المقابلة. إذا لم يتم العثور على تطابقات ، فسيتم تنفيذ الكتلة الافتراضية.
تضمن الكلمة الأساسية النهائية أنه لا يمكن تغيير قيمة متغير فار بعد التهيئة. هذا الشرط ضروري لاستخدام تعبير ثابت في بيان التبديل.بشكل عام ، يعد استخدام المتغيرات في تعبير التبديل أمرا غير مرغوب فيه ويمكن أن يؤدي إلى مشاكل في الكود ، مثل أخطاء التنفيذ أو صعوبة القراءة. فمن المستحسن استخدام قيم ثابتة لبناء بناء التبديل في لغة جافا.
متى تستخدم تعبيرا ثابتا في مفتاح جافا
يتم استخدام بيان التبديل في جافا لتحديد واحد من عدة خيارات تنفيذ التعليمات البرمجية اعتمادا على قيمة متغير. في معظم الحالات ، يتم استخدام التبديل مع تعبير ثابت في شكل رقم أو رمز. ومع ذلك ، في بعض الحالات ، يلزم استخدام تعبير ثابت.أمثلة على استخدام تعبير ثابت في مفتاح جافا
يمكن استخدامه للتحكم في تدفق التنفيذ اعتمادا على قيمة التعبير.
تبديل الفروع
يمكن تنفيذها اعتمادا على الثابت الذي يطابق قيمة التعبير.
Вот несколько примеров использования константного выражения в
switch
:Пример 1:
int dayOfWeek = 3;String dayName;
switch (dayOfWeek) {
case 1:
dayName = "Понедельник";
- break;
- case 2:
- dayName = "Вторник";
- break;
- case 3:
- dayName = "Среда";
break;