جملة Switch
جزء من قسم الأساسيات في رحلة Java على Coddy. الدرس 29 من 73.
عبارة switch تشبه عبارة if متعددة المسارات. وبدلًا من تقييم شرط واحد، تتحقق من قيمة متغير مقابل حالات متعددة وتنفّذ التعليمة البرمجية المرتبطة بالحالة المطابقة.
إليك البنية الأساسية لعبارة switch:
switch (variable) {
case value1:
// الكود الذي يُنفَّذ إذا كانت variable تساوي value1
break;
case value2:
// الكود الذي يُنفَّذ إذا كانت variable تساوي value2
break;
// ... المزيد من الحالات
default:
// الكود الذي يُنفَّذ إذا لم تتطابق أي حالة
}- تأتي الكلمة المفتاحية
switchمتبوعةً بالمتغير الذي تريد اختباره بين قوسين. - يمثل كل
caseقيمةً محتملة للمتغير. - يُنفَّذ الكود داخل كل
caseإذا تطابقت قيمة variable مع قيمة ذلك الـcase.
- تُعد العبارة
breakبالغة الأهمية؛ فهي تخرج منswitchبعد تنفيذ case. ومن دونها، سيستمر التنفيذ إلى case التالية. - إن case
defaultاختيارية، ويتم تنفيذها إذا لم تتطابق أي case أخرى.
إليك مثالًا:
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".
جرّب بنفسك
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);
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
دوال System.outتنسيق المخرجاتكلاس Scannerمراجعة - حتى 120مراجعة - صح أم خطأ5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع3المتغيرات - الجزء الثاني
الثوابتقواعد التسميةمراجعة - تهيئة المتغيراتتحويل الأنواع - الجزء الأولتحويل الأنواع - الجزء الثاني6اتخاذ القرار
جملة Ifجملة If - Elseجملة Switchالمعامل الثلاثيمراجعة - If Elseجملة If - Else المتداخلةتدرّب بنفسك: مترجم Java عبر الإنترنت