جاري التحميل...

التعدادات في Java

أسرد مجموعة ثابتة من الأسماء بـ enum حتى يختار البرنامج من تلك القائمة فقط. اكتب enum Level مع LOW و MEDIUM و HIGH. في Yard.java عيّن Level mark = Level.MEDIUM; واطبع mark. ترجم بـ javac Yard.java وشغّل java Yard. يجب أن تُظهر الشاشة MEDIUM. عرض ثانٍ يشغّل switch على نفس mark ويطبع medium. اترك الفئات abstract للصفحة التالية — هذا الدرس قائمة قصيرة من أسماء ثابتة وكيف تطبع أو تتفرع على واحد منها.

اطبع اسم enum واحد

صفحة الواجهات ملأت وعود المتدات الفارغة بـ implements. هذه الصفحة تسرد ثوابت بدلًا من ذلك. افتح Yard.java. أبقِ اسم الفئة العامة Yard. احذف عروض Signal / implements المتبقية إن دفنت قصة enum، وملفات horn المتعلقة بـ Truck، وعروض المسار، وأي Scanner للوحة المفاتيح. لا ينتظر البرنامج الكتابة. لا تحتاج سطر import.
أعلن الـ enum فوق الفئة العامة:
enum Level {
LOW,
MEDIUM,
HIGH
}
افصل الأسماء بفواصل. أبقِها بأحرف كبيرة في هذا الشكل للمبتدئين. الاسم الأخير لا يحتاج فاصلة لاحقة لهذا الملف التعليمي.
داخل Yard.main اختر اسمًا واحدًا واطبعه:
Level mark = Level.MEDIUM;
System.out.println(mark);
أنت لا تكتب new Level(). تكتب اسم النوع، نقطة، والثابت: Level.MEDIUM.

Yard print Level.MEDIUM

java
enum Level {
    LOW,
    MEDIUM,
    HIGH
}

public class Yard {
    public static void main(String[] args) {
        Level mark = Level.MEDIUM;
        System.out.println(mark);
    }
}

من المجلد الذي يحوي Yard.java شغّل javac Yard.java. عندما تتطابق الأقواس والأقواس المعقوفة والفواصل المنقوطة، لا يكتب javac سطرًا خاصًا به. ثم شغّل java Yard — وليس java Yard.java. اترك لاحقة .java خارج أمر التشغيل. أبقِ فئة عامة واحدة في الملف ليطابق الاسم Yard. الـ enum من نوع Level يبقى بلا public في هذا الشكل للمبتدئين عندما يجلس بجانب Yard في الملف نفسه.
الشاشة تُظهر MEDIUM. امشِ التشغيل مرة. يبدأ Java من Yard.main. المتغير mark يحمل الثابت Level.MEDIUM. طباعة mark تكتب اسم ذلك الثابت. الاسمان الآخران LOW و HIGH يبقيان متاحين على النوع، لكن هذا العرض يطبع فقط ما عيّنته.
اقرأ سطر التعيين مرة أخرى: النوع Level، والقيمة Level.MEDIUM. الجانبان ينتميان لنفس الـ enum. أنت لا تبني سلسلة نصية حرة؛ أنت تختار اسمًا مدرجًا. احتفظ بتلك العادة عندما تغيّر لاحقًا mark إلى LOW أو HIGH في تجربة خاصة — فقط الأسماء من قائمة الـ enum قانونية.
إذا ما زلت ترى honk من ملف واجهة، انتقل إلى ملف تعليم الـ enum وشغّل java Yard مجددًا. إذا اشتكى javac من ثابت ناقص، تحقق من الإملاء والشكل بالأحرف الكبيرة لـ MEDIUM. إذا حاولت اختراع اسم رابع عند الاستدعاء دون إدراجه في الـ enum، يرفض javac — القائمة داخل الـ enum هي المجموعة المسموحة.
قل القاعدة بصوت عالٍ وأنت تراقب الشاشة: الـ enum يسرد الأسماء، الكود يختار واحدًا بنقطة، الطباعة تُظهر ذلك الاسم. لا تخترع فئة abstract في هذه الصفحة. الفئات abstract تنتظر الدرس التالي.

تفرّع على الـ enum بـ switch

برنامج ثانٍ يحتفظ بنفس قائمة Level. ما زال main يعيّن Level.MEDIUM. switch على mark يطبع كلمة بأحرف صغيرة للحالة المختارة.

Yard switch on Level.MEDIUM

java
enum Level {
    LOW,
    MEDIUM,
    HIGH
}

public class Yard {
    public static void main(String[] args) {
        Level mark = Level.MEDIUM;
        switch (mark) {
            case LOW:
                System.out.println("low");
                break;
            case MEDIUM:
                System.out.println("medium");
                break;
            case HIGH:
                System.out.println("high");
                break;
        }
    }
}

ترجم بـ javac Yard.java، ثم شغّل java Yard. الشاشة تُظهر medium. دخل الـ switch حالة MEDIUM لأن mark حمل Level.MEDIUM. الـ break يوقف تلك الحالة حتى لا تعمل الحالات اللاحقة. غيّر فقط الثابت المعيّن في تجربة لاحقة إن أردت رؤية low أو high — أبقِ قائمة الـ enum كما هي.
داخل كل case اكتب اسم الثابت عاريًا: case MEDIUM:، وليس case Level.MEDIUM:. الـ switch يعرف النوع مسبقًا من switch (mark). أبقِ break بعد كل طباعة في هذا الشكل للمبتدئين حتى يبقى خرج التعليم سطرًا واضحًا واحدًا. مرّ على الحالات الثلاث بعينيك مرة: LOW يقابل low، وMEDIUM يقابل medium، وHIGH يقابل high. لتمرير واحد فقط واحدة من تلك الطباعات تعمل.
إذا بقيت عروض الواجهة قريبة، احتفظ بها كتاريخ. لهذا الدرس شغّل ملف تعليم الـ enum حتى تُظهر الشاشة MEDIUM أو medium، لا honk. إذا اشتكى javac من أنواع عامة مكررة، ما زال لديك أكثر من نوع public في الملف — أبقِ فقط Yard عامًا.

أسماء Level الثلاثة

📊 Level enum names

Name Role on this page
LOW listed constant; switch can print low
MEDIUM assigned and printed in both demos
HIGH listed constant; switch can print high
الجدول هو الخريطة القصيرة لهذه الصفحة. الـ enum يحمل الأسماء الثلاثة كلها. العرض الأول يطبع الاسم الأوسط كـ MEDIUM. العرض الثاني يحوّل نفس الاختيار إلى الكلمة بأحرف صغيرة medium. أبقِ القائمة قصيرة وثابتة؛ لا تعامل mark كنص String حر مكتوب في هذه الصفحة.

مقارنة مع الواجهات

في صفحة الواجهات، وعد Signal بمتدات فارغة وملأها Truck implements Signal. في هذه الصفحة يسرد enum Level أسماء ويختار Yard واحدًا. ما زلت تترجم Yard.java وتشغّل java Yard. الرموز الجديدة هي enum، وقائمة الثوابت بالأحرف الكبيرة، وLevel.MEDIUM، و— في العرض الثاني — حالات switch على تلك الأسماء.
إذا كان ملف implements Signal ما زال مفتوحًا، سترى بدنات متدات وhonk. انتقل إلى ملف الـ enum حتى يُظهر الأعلى enum Level ويعيّن main ثابتًا. أبقِ عروض الفئات abstract خارج هذه الصفحة. أبقِ إدخال لوحة المفاتيح خارج هذه الصفحة.

قبل الفئات abstract

يمكنك إعلان enum Level مع LOW وMEDIUM وHIGH، وتعيين Level.MEDIUM، ورؤية MEDIUM على الشاشة. يمكنك عمل switch على ذلك mark ورؤية medium. ترجم Yard.java وشغّل java Yard لكل عرض تحتفظ به على التوالي. اختار البرنامج من قائمة ثابتة. الصفحة التالية هي الفئات abstract، حيث يمكن لنوع أب أن يترك متدًا بلا بدنة كاملة ليكملها الأبناء.
أبقِ عرض الطباعة لثابت واضح على الشاشة. أبقِ عرض الـ switch لتفرع واضح على ذلك الثابت. أبقِ ملفات abstract خارج هذه الصفحة. تلك العادات الثلاث هي نقطة التحقق قبل الانتقال. عندما يظهر MEDIUM من طباعة مباشرة — وعندما يظهر medium من الـ switch — أدّى الـ enum عمله لهذا الدرس وأنت جاهز للموضوع التالي عن الفئات abstract.
مرّة أخيرة على المجلد: Yard عام واحد، وenum Level واحد بثلاثة أسماء، بلا انتظار للوحة المفاتيح، بلا إجبار على فئة abstract. شغّل javac Yard.java وjava Yard مرة أخرى على العرض المفتوح. إذا ما زالت الشاشة تطابق قصة الصف الأوسط في الجدول، فقائمة الـ enum متينة ويمكن للدورة الانتقال إلى الفئات abstract في الصفحة التالية.

🧠 اختبر معرفتك

جاهز للبدء

اختبر معرفتك

تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع

❓
5
الأسئلة
🎯
70%
للنجاح
♾️
∞
الوقت
🔄
∞
المحاولات

📝 التعليمات

  • اقرأ كل سؤال بعناية
  • اختر أفضل إجابة لكل سؤال
  • يمكنك إعادة الاختبار عدة مرات كما تريد
  • سيتم عرض تقدمك في الأعلى