"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > هل يمكن لبيان التبديل الخاص بـ Java التعامل مع نطاقات القيمة؟

هل يمكن لبيان التبديل الخاص بـ Java التعامل مع نطاقات القيمة؟

تم النشر بتاريخ 2024-11-25
تصفح:163

Can Java\'s Switch Statement Handle Value Ranges?

هل يمكن لبيان التبديل الخاص بـ Java استخدام نطاقات القيمة في كل حالة؟

في Java، يقوم بيان التبديل بتقييم قيمة واحدة مقابل مجموعة من الحالات التسميات. ومع ذلك، يمكن أن تحتوي تسميات الحالة على قيم فردية فقط، وليس نطاقات. قد يقودك هذا إلى التساؤل عما إذا كان هذا السلوك ممكنًا، مستوحى من لغات مثل Objective C.

نهج Java في التعامل مع النطاقات

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

بدلاً من ذلك، توفر Java حلاً بديلاً باستخدام المقارنات المنطقية. يمكنك تحديد طريقة مساعدة مثل "isBetween" لتحديد ما إذا كانت القيمة تقع ضمن نطاق:

public static boolean isBetween(int x, int lower, int upper) {
  return lower 

باستخدام هذه الطريقة، يمكنك إعادة كتابة بيان التبديل الخاص بك باستخدام if-else if builds:

if (isBetween(num, 1, 5)) {
  System.out.println("testing case 1 to 5");
} else if (isBetween(num, 6, 10)) {
  System.out.println("testing case 6 to 10");
}

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

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3