تعبير Switch
جزء من قسم Logic & Flow في رحلة Java على Coddy. الدرس 36 من 59.
تعبير switch هو ميزة تتيح لك كتابة جمل switch أكثر إيجازاً وإرجاع القيم مباشرة. دعونا نرى كيف يعمل ذلك.
أنشئ تعبير switch أساسي يُرجع قيمة:
int number = 1;
String message = switch(number) {
case 1 -> "One";
case 2 -> "Two";
default -> "Other";
};بعد تنفيذ الكود أعلاه، يحتوي المتغير message على:
"One"
يمكنك أيضاً التعامل مع حالات متعددة معاً:
int day = 2;
String type = switch(day) {
case 1, 2, 3, 4, 5 -> "Weekday";
case 6, 7 -> "Weekend";
default -> "Invalid day";
};بعد تنفيذ الكود أعلاه، يحتوي المتغير type على:
"Weekday"
التحدي
سهلقم بإنشاء طريقة (method) باسم getDayType تأخذ وسيطين:
- عدد صحيح (
day) يمثل يومًا من أيام الأسبوع (1-7) - قيمة منطقية (
abbreviated) تحدد تنسيق الإرجاع
يجب أن تستخدم الطريقة تعبير switch لإرجاع نوع اليوم:
- للأيام 1-5 (من الاثنين إلى الجمعة): أرجع "WORKDAY" إذا لم يكن مختصرًا، أو "WKD" إذا كان مختصرًا
- للأيام 6-7 (السبت والأحد): أرجع "WEEKEND" إذا لم يكن مختصرًا، أو "WKND" إذا كان مختصرًا
- لأي رقم آخر: أرجع "INVALID" إذا لم يكن مختصرًا، أو "INV" إذا كان مختصرًا
جرّب بنفسك
import java.util.Scanner;
public class Main {
public static String getDayType(int day, boolean abbreviated) {
// اكتب كودك هنا
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int day = Integer.parseInt(scanner.nextLine());
boolean abbreviated = Boolean.parseBoolean(scanner.nextLine());
System.out.println(getDayType(day, abbreviated));
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات2HashMap الجزء الأول
ما هو الـ HashMap؟تعريف الـ HashMapالوصول إلى القيمالتحقق من وجود المفتاحتعديل القواميسملخص - HashMap3HashMap الجزء الثاني
دوال HashMapالتكرار باستخدام keySet()التكرار باستخدام entrySet()HashMap متداخلمراجعة - إدارة المستودعمراجعة - عمليات HashMap6التحكم المتقدم في تدفق البرنامج
العبارات المعنونةتعبير Switchمطابقة الأنماطجمل الحمايةمراجعة - تدفق التحكمتدرّب بنفسك: مترجم Java عبر الإنترنت