Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

تعبير 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"

challenge icon

التحدي

سهل

قم بإنشاء طريقة (method) باسم getDayType تأخذ وسيطين:

  1. عدد صحيح (day) يمثل يومًا من أيام الأسبوع (1-7)
  2. قيمة منطقية (abbreviated) تحدد تنسيق الإرجاع

يجب أن تستخدم الطريقة تعبير switch لإرجاع نوع اليوم:

  • للأيام 1-5 (من الاثنين إلى الجمعة): أرجع "WORKDAY" إذا لم يكن مختصرًا، أو "WKD" إذا كان مختصرًا
  • للأيام 6-7 (السبت والأحد): أرجع "WEEKEND" إذا لم يكن مختصرًا، أو "WKND" إذا كان مختصرًا
  • لأي رقم آخر: أرجع "INVALID" إذا لم يكن مختصرًا، أو "INV" إذا كان مختصرًا

ورقة مرجعية

تسمح لك تعبيرات Switch بكتابة جمل switch موجزة تُرجع القيم مباشرةً باستخدام بناء جملة السهم (->):

int number = 1;
String message = switch(number) {
   case 1 -> "One";
   case 2 -> "Two";
   default -> "Other";
};

يمكنك التعامل مع حالات متعددة معاً عن طريق الفصل بينها بفاصلات:

int day = 2;
String type = switch(day) {
   case 1, 2, 3, 4, 5 -> "Weekday";
   case 6, 7 -> "Weekend";
   default -> "Invalid day";
};

جرّب بنفسك

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));
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow