جملة Switch
جزء من قسم Fundamentals في رحلة Java على Coddy — الدرس 29 من 73.
جملة switch تشبه جملة if متعددة الاتجاهات. فبدلاً من تقييم شرط واحد، تقوم بالتحقق من قيمة متغير مقابل حالات متعددة وتنفذ الكود المرتبط بالحالة المطابقة.
إليك الهيكل الأساسي لجملة switch:
switch (variable) {
case value1:
// الكود الذي سيتم تنفيذه إذا كانت variable تساوي value1
break;
case value2:
// الكود الذي سيتم تنفيذه إذا كانت variable تساوي value2
break;
// ... حالات إضافية
default:
// الكود الذي سيتم تنفيذه إذا لم تتطابق أي حالة
}- تتبع الكلمة المفتاحية
switchبالمتغير الذي تريد اختباره بين قوسين. - تمثل كل
caseقيمة محتملة للمتغير. - يتم تنفيذ الكود الموجود داخل كل
caseإذا تطابق المتغير مع قيمة تلك الحالة.
- تُعد جملة
breakأمراً بالغ الأهمية؛ فهي تخرج منswitchبعد تنفيذ الحالة. وبدونها، سينتقل التنفيذ إلى الحالة التالية. - حالة
defaultاختيارية ويتم تنفيذها إذا لم تتطابق أي حالة أخرى.
إليك مثال:
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... حالات للأيام الأخرى
default:
dayName = "Invalid day";
}يمكنك أيضاً دمج عدة حالات في حالة واحدة:
int day = 3;
String dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... حالات للأيام الأخرى
default:
dayName = "Invalid day";
}التحدي
مبتدئأنشئ برنامجًا يأخذ رقم الشهر (1 لشهر يناير، 2 لشهر فبراير، إلخ) ويطبع الفصل الذي ينتمي إليه. استخدم جملة switch للمنطق البرمجي.
الفصول والشهور المقابلة لها هي:
- Winter: ديسمبر (12)، يناير (1)، فبراير (2)
- Spring: مارس (3)، أبريل (4)، مايو (5)
- Summer: يونيو (6)، يوليو (7)، أغسطس (8)
- Autumn: سبتمبر (9)، أكتوبر (10)، نوفمبر (11)
لأي رقم شهر آخر، اطبع "Invalid month".
ورقة مرجعية
تُعد جملة switch شرطاً متعدد المسارات يتحقق من قيمة متغير مقابل حالات متعددة:
switch (variable) {
case value1:
// الكود الذي سيتم تنفيذه إذا كان المتغير يساوي value1
break;
case value2:
// الكود الذي سيتم تنفيذه إذا كان المتغير يساوي value2
break;
default:
// الكود الذي سيتم تنفيذه في حال عدم تطابق أي حالة
}المكونات الرئيسية:
case: يمثل قيمة محتملة للمتغيرbreak: يخرج من جملة switch بعد تنفيذ الحالة (يمنع الانتقال التلقائي للحالة التالية)default: حالة اختيارية يتم تنفيذها إذا لم تتطابق أي حالة أخرى
يمكنك دمج حالات متعددة:
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
default:
dayName = "Invalid day";
}جرّب بنفسك
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt();
String season = "";
// اكتب الكود الخاص بك أدناه
System.out.println(season);
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
دوال System.outتنسيق المخرجاتكلاس Scannerمراجعة - حتى 120مراجعة - صح أم خطأ5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع3المتغيرات - الجزء الثاني
الثوابتقواعد التسميةمراجعة - تهيئة المتغيراتتحويل الأنواع - الجزء الأولتحويل الأنواع - الجزء الثاني6اتخاذ القرار
جملة Ifجملة If - Elseجملة Switchالمعامل الثلاثيمراجعة - If Elseجملة If - Else المتداخلة