شائعرحلة
تعلّم Java
دورة Java أونلاين مجانية وتفاعلية. تكتب كود Java في كل درس — البنية، الأصناف والكائنات، الوراثة، المجموعات — مع تلميحات بالذكاء الاصطناعي عند فشل التصريف، وشهادة مجانية عند الانتهاء.
214,302+ من الـ codders مسجلون
- مناسب للمبتدئين
مساعدة برمجية بالذكاء الاصطناعي
دروس تفاعلية عملية
تعليق صوتي في كل درس
اختبارات لقياس معرفتك
شهادة إتمام مجانية
المنهج
قسم 1
Fundamentals
ابدأ القسمابدأتوسيعطيBuild a strong foundation with essential concepts and basic skillsمقدمة
4 درسًا324- 01Javaتحدي
- 02أهلاً بالعالم!تحدياختبارصوت
- 03التعليقاتاختبارصوت
- 04هيكل البرنامج الأساسيتحدياختبارصوت
المتغيرات - الجزء الأول
5 درسًا940- 01الأرقامتحديإتقاناختبارصوت
- 02Stringتحديإتقاناختبارصوت
- 03Booleanتحديإتقاناختبارصوت
- 04charتحديإتقاناختبارصوت
- 05التصريح عن النوعتحدياختبارصوت
المتغيرات - الجزء الثاني
5 درسًا333- 01الثوابتتحدياختبارصوت
- 02قواعد التسميةاختبارصوت
- 03مراجعة - تهيئة المتغيراتتحدي
- 04تحويل الأنواع - الجزء الأولتحدياختبارصوت
- 05تحويل الأنواع - الجزء الثانياختبارصوت
المعاملات - الجزء الأول
7 درسًا956- 01المعاملات الحسابيةتحديإتقاناختبارصوت
- 02معامل باقي القسمة (Modulo)تحديإتقاناختبارصوت
- 03الزيادة والنقصانتحديإتقاناختبارصوت
- 04الزيادة والنقصان اللاحقةإتقاناختبارصوت
- 05اختصارات العمليات الحسابيةتحدياختبارصوت
- 06معاملات المقارنةتحدياختبارصوت
- 07مقارنة النصوصاختبارصوت
المعاملات - الجزء الثاني
5 درسًا834- 01المعاملات المنطقية - الجزء الأولتحديإتقاناختبارصوت
- 02المعاملات المنطقية - الجزء الثانيتحديإتقاناختبارصوت
- 03مراجعة - المنطق البسيطتحدي
- 04المعاملات المنطقية - الجزء الثالثتحدياختبارصوت
- 05المعاملات المنطقية - الجزء الرابعتحديإتقاناختبارصوت
اتخاذ القرار
6 درسًا1038- 01جملة Ifتحديإتقاناختبارصوت
- 02جملة If - Elseتحديإتقاناختبارصوت
- 03جملة Switchتحديإتقاناختبارصوت
- 04المعامل الثلاثيتحديإتقاناختبارصوت
- 05مراجعة - If Elseتحدي
- 06جملة If - Else المتداخلةتحدياختبارصوت
أساسيات الإدخال والإخراج
5 درسًا723- 01دوال System.outتحديإتقاناختبارصوت
- 02تنسيق المخرجاتتحديإتقاناختبارصوت
- 03كلاس Scannerتحدياختبارصوت
- 04مراجعة - حتى 120تحدي
- 05مراجعة - صح أم خطأتحدي
تطبيق الآلة الحاسبة
مشروع4 درسًا1- 01رسالة الترحيبتحدي
- 02استقبال الأرقاممشروع
- 03العمليات الأساسيةمشروع
- 04مخرجات منسقةمشروع
الحلقات التكرارية
9 درسًا1362- 01حلقة For - الجزء الأولتحديإتقاناختبارصوت
- 02حلقة Whileتحديإتقاناختبارصوت
- 03حلقة Do Whileتحديإتقاناختبارصوت
- 04Breakتحديإتقاناختبارصوت
- 05Continueتحديإتقاناختبارصوت
- 06حلقة For - الجزء الثانياختبارصوت
- 07الحلقات المتداخلةتحديإتقاناختبارصوت
- 08الحلقة اللانهائيةاختبارصوت
- 09مراجعة - المدخلات الديناميكيةتحدي
الأساليب (الدوال)
7 درسًا843- 01تعريف الأساليبتحديإتقاناختبارصوت
- 02معاملات الأساليبتحدياختبارصوت
- 03أنواع الإرجاعتحدياختبارصوت
- 04التحميل الزائد للأساليب (Method Overloading)إتقاناختبارصوت
- 05مراجعة - دالة Sigmaتحدي
- 06مراجعة - دالة التحقق (Validation)تحدي
- 07أساليب Voidتحدياختبارصوت
أساسيات المصفوفات
6 درسًا929- 01تعريف المصفوفاتتحدياختبارصوت
- 02الوصول إلى العناصرتحدياختبارصوت
- 03تعديل المصفوفاتتحديإتقاناختبارصوت
- 04دوال المصفوفاتتحديإتقاناختبارصوت
- 05مراجعة - مصفوفة الضربتحديإتقان
- 06مراجعة - المصفوفة المعكوسةتحدي
التكرار عبر المصفوفات
3 درسًا423- 01استخدام حلقة Forتحدياختبارصوت
- 02حلقة For المحسنةتحدياختبارصوت
- 03عمليات المصفوفات الشائعةتحديإتقاناختبارصوت
عمليات السلاسل النصية
4 درسًا832- 01دوال السلاسل النصية - الجزء الأولتحديإتقاناختبارصوت
- 02دوال السلاسل النصية - الجزء الثانيتحديإتقاناختبارصوت
- 03تنسيق السلاسل النصيةتحديإتقاناختبارصوت
- 04مقارنة السلاسل النصيةتحديإتقاناختبارصوت
التحديات النهائية
3 درسًا38- 01نمط الأرقامتحدياختبارصوت
- 02مكتشف الأنماطتحدي
- 03حاسبة درجات الطلابتحدي
قسم 2
Logic & Flow
ابدأ القسمابدأتوسيعطيMaster advanced Java programming with a focus on data structures and flow control. Learn to work with complex arrays, collections, error handling, and time management.المصفوفات متعددة الأبعاد
9 درسًا1457- 01أساسيات المصفوفات ثنائية الأبعادتحدياختبار
- 02الوصول إلى عناصر المصفوفات ثنائية الأبعادتحدياختبار
- 03الحلقات المتداخلة مع المصفوفات ثنائية الأبعادتحديإتقاناختبار
- 04مراجعة - المصفوفات ثنائية الأبعادتحدي
- 05جمع وطرح المصفوفاتتحديإتقاناختبار
- 06المصفوفات المتعرجة (Jagged Arrays)تحديإتقاناختبار
- 07المصفوفات ثلاثية الأبعاد وما بعدهاتحديإتقاناختبار
- 08أنماط المصفوفات ثنائية الأبعاد الشائعةتحديإتقاناختبار
- 09مراجعة - كل شيء عن المصفوفاتتحدي
HashMap الجزء الأول
6 درسًا637- 01ما هو الـ HashMap؟اختبار
- 02تعريف الـ HashMapتحدياختبار
- 03الوصول إلى القيمتحدياختبار
- 04التحقق من وجود المفتاحتحديإتقاناختبار
- 05تعديل القواميستحدياختبار
- 06ملخص - HashMapتحدي
HashMap الجزء الثاني
6 درسًا1030- 01دوال HashMapتحديإتقاناختبار
- 02التكرار باستخدام keySet()تحديإتقاناختبار
- 03التكرار باستخدام entrySet()تحديإتقاناختبار
- 04HashMap متداخلتحديإتقاناختبار
- 05مراجعة - إدارة المستودعتحدي
- 06مراجعة - عمليات HashMapتحدي
HashSet الجزء الأول
7 درسًا844- 01ما هو الـ HashSet؟اختبار
- 02إضافة عنصرتحدياختبار
- 03حذف عنصرتحدياختبار
- 04التحقق من وجود عنصرتحديإتقاناختبار
- 05الفراغ والحجمتحديإتقاناختبار
- 06المسح والنسختحدياختبار
- 07ملخص - HashSetتحدي
HashSet الجزء الثاني
6 درسًا1146- 01رياضيات - اتحاد الـ HashSetsتحديإتقاناختبار
- 02رياضيات - تقاطع الـ HashSetتحديإتقاناختبار
- 03رياضيات - فرق المجموعاتتحديإتقاناختبار
- 04رياضيات - الفرق المتناظرتحدياختبار
- 05المجموعات الجزئية والشاملةتحديإتقاناختبار
- 06التكرار عبر المجموعاتتحديإتقاناختبار
التحكم المتقدم في تدفق البرنامج
5 درسًا929- 01العبارات المعنونةتحديإتقاناختبار
- 02تعبير Switchتحديإتقاناختبار
- 03مطابقة الأنماطتحديإتقاناختبار
- 04جمل الحمايةتحديإتقاناختبار
- 05مراجعة - تدفق التحكمتحدي
أساسيات معالجة الأخطاء
4 درسًا630- 01أساسيات Try-Catchتحديإتقاناختبار
- 02كتلة Finallyتحدياختبار
- 03إطلاق الاستثناءاتتحديإتقاناختبار
- 04استثناءات مخصصةتحدياختبار
عمليات السلاسل النصية المتقدمة
6 درسًا1145- 01أساسيات StringBuilderتحديإتقاناختبار
- 02مقدمة إلى StringBufferتحديإتقاناختبار
- 03أساسيات Regular Expressionsتحديإتقاناختبار
- 04مطابقة الأنماط باستخدام Regexتحديإتقاناختبار
- 05String Tokenizerتحديإتقاناختبار
- 06تنسيق النصوص المتقدمتحدياختبار
مشروع - عداد الكلمات الفريدة
مشروع4 درسًا123- 01إدخال النصوص وتخزينهاتحدي
- 02معالجة الكلماتمشروعاختبار
- 03عد الكلماتمشروعاختبار
- 04إحصائيات متقدمةمشروعاختبار
التاريخ والوقت
6 درسًا646- 01أساسيات LocalDateتحدياختبار
- 02عمليات LocalTimeتحدياختبار
- 03استخدام LocalDateTimeتحدياختبار
- 04Period و Durationتحدياختبار
- 05تنسيق التاريختحدياختبار
- 06التعامل مع المناطق الزمنيةتحدياختبار
قسم 3
Object Oriented Programming
ابدأ القسمابدأتوسيعطيDiscover how to organize code with classes, objects, and reusable structuresأساسيات الـ OOP
9 درسًا971- 01الملفات الخارجيةتحدياختبار
- 02مقدمة في الـ OOPتحدياختبار
- 03الفئات (Classes) مقابل الكائنات (Objects)تحدياختبار
- 04الكلمة المفتاحية thisتحدياختبار
- 05الدوال (Methods)تحدياختبار
- 06الحقول (Attributes)تحدياختبار
- 07دالة البناء (Constructor)تحدياختبار
- 08تعدد أشكال دالة البناء (Constructor Overloading)تحدياختبار
- 09مراجعة - آلة حاسبة بسيطةتحدي
محددات الوصول والتغليف
5 درسًا536- 01نظرة عامة على مستويات الوصولتحدياختبار
- 02دوال Getter و Setterتحدياختبار
- 03إخفاء البياناتتحدياختبار
- 04الكلمة المفتاحية finalتحدياختبار
- 05مراجعة - مدير الحساب البنكيتحدي
خصائص الفئة والعضو الساكن
5 درسًا533- 01المتغيرات الخاصة بالكائن مقابل المتغيرات الساكنةتحدياختبار
- 02الدوال الساكنةتحدياختبار
- 03الكتل البرمجية الساكنةتحدياختبار
- 04الثوابت (static final)تحدياختبار
- 05ملخص - العداد والأدوات المساعدةتحدي
الوراثة
8 درسًا862- 01الوراثة الأساسية (extends)تحدياختبار
- 02الكلمة المفتاحية superتحدياختبار
- 03إعادة تعريف الدوال (@Override)تحدياختبار
- 04تسلسل المنشئات (Constructor Chaining)تحدياختبار
- 05كلاس Objectتحدياختبار
- 06الوراثة الأحادية ومتعددة المستوياتتحدياختبار
- 07لماذا لا توجد وراثة متعددة للكلاساتتحدياختبار
- 08مراجعة - هيكلية الموظفينتحدي
تعدد الأشكال (Polymorphism)
6 درسًا645- 01أساسيات الـ Method Overloadingتحدياختبار
- 02الـ Method Overriding (في وقت التشغيل)تحدياختبار
- 03الـ Upcasting والـ Downcastingتحدياختبار
- 04معامل الـ instanceofتحدياختبار
- 05الفئات والدوال المجردة (Abstract)تحدياختبار
- 06مراجعة - حاسبة الأشكالتحدي
الواجهات (Interfaces) والأصناف المجردة (Abstract Classes)
7 درسًا754- 01مقدمة في الواجهات (Interfaces)تحدياختبار
- 02تنفيذ الواجهات (Interfaces)تحدياختبار
- 03تنفيذ واجهات متعددةتحدياختبار
- 04الـ Default و Static في الواجهاتتحدياختبار
- 05الأصناف المجردة مقابل الواجهاتتحدياختبار
- 06الواجهات الوظيفية (Functional Interfaces)تحدياختبار
- 07مراجعة - نظام الدفعتحدي
الدوال الخاصة وفئة Object
6 درسًا644- 01دالة toString()تحدياختبار
- 02equals() و hashCode()تحدياختبار
- 03دالة clone()تحدياختبار
- 04compareTo() و Comparableتحدياختبار
- 05واجهة Comparatorتحدياختبار
- 06مراجعة - الترتيب المخصصتحدي
مفاهيم OOP المتقدمة
6 درسًا653- 01الـ Composition مقابل الـ Inheritanceتحدياختبار
- 02الـ Aggregation مقابل الـ Compositionتحدياختبار
- 03الفئات الداخلية والمتداخلة والمجهولة (Inner, Nested & Anonymous)تحدياختبار
- 04الـ Enums ودوالهاتحدياختبار
- 05الـ Records (Java 16+)تحدياختبار
- 06الـ Sealed Classes (Java 17+)تحدياختبار
الأنواع العامة (Generics)
6 درسًا644- 01مقدمة في الأنواع العامةتحدياختبار
- 02الأصناف العامة (Generic Classes)تحدياختبار
- 03الدوال العامة (Generic Methods)تحدياختبار
- 04معاملات الأنواع المقيدةتحدياختبار
- 05الرموز البديلة (?, extends, super)تحدياختبار
- 06مراجعة - الحاويات العامةتحدي
معالجة الاستثناءات في OOP
5 درسًا536- 01التسلسل الهرمي لفئات الاستثناءاتتحدياختبار
- 02الاستثناءات المخصصةتحدياختبار
- 03الأخطاء من نوع Checked مقابل Uncheckedتحدياختبار
- 04نمط Try With Resourcesتحدياختبار
- 05مراجعة - Validated Userتحدي
أنماط التصميم - الجزء الأول
6 درسًا654- 01مقدمة في أنماط التصميمتحدياختبار
- 02نمط Singletonتحدياختبار
- 03نمط Factoryتحدياختبار
- 04نمط Builderتحدياختبار
- 05نمط Observerتحدياختبار
- 06نمط Strategyتحدياختبار
أنماط التصميم - الجزء الثاني
7 درسًا763- 01نمط الأمرتحدياختبار
- 02نمط المحولتحدياختبار
- 03نمط المزينتحدياختبار
- 04نمط طريقة القالبتحدياختبار
- 05نمط الحالةتحدياختبار
- 06نمط التركيبتحدياختبار
- 07نمط المكررتحدياختبار
مشروع: إدارة المكتبة
مشروع7 درسًا1- 01نظرة عامة على المشروع وتصميم UMLتحدي
- 02فئات الكتاب والمستخدممشروع
- 03نظام الاستعارةمشروع
- 04خاصية البحثمشروع
- 05واجهة المسؤولمشروع
- 06دمج معالجة الاستثناءاتمشروع
- 07الاختبار والدمجمشروع
التحديات النهائية
4 درسًا437- 01منصة التعليم الإلكترونيتحدياختبار
- 02النظام المصرفيتحدياختبار
- 03تطوير شخصيات الألعابتحدياختبار
- 04خدمة تأجير المركباتتحدياختبار
لماذا تتعلم Java مع Coddy
- اكتب وشغّل كود Java حقيقي داخل متصفحك. لا حاجة لتثبيت JDK ولا لإعداد IDE. المحرر يقوم بالـ compile وتشغيل برنامج Java على الخادم ويعرض لك المخرجات فوراً.
- برمجة Java كائنية التوجه كما تُستخدم فعليًا: الفئات، الوراثة، الواجهات، تعدد الأشكال، الـ generics، ومعالجة الاستثناءات. كل مفهوم يأتي معه تمرين عملي.
- تلميحات الذكاء الاصطناعي تساعدك على قراءة أخطاء Java وإصلاحها، خاصةً الـ stack traces الطويلة، فتشعر أن اللغة أقل ترهيبًا منذ اليوم الأول.
- شهادة Java مجانية عند إنهاء الدورة. إشارة موثوقة لوظائف backend أو Android أو الشركات الكبرى التي يهمّها إتقان Java.
أسئلة شائعة حول تعلّم Java
هل Java سهل التعلم؟
لغة Java أكثر إسهابًا من لغات السكربتات مثل Python أو JavaScript. كل برنامج يحتاج إلى class، والدوال تُصرَّح بأنواع صريحة، ويجب أن تُجمِّع الكود قبل تشغيله. الجانب الإيجابي أن هذه الصرامة تُعلِّمك عادات جيدة منذ البداية. الدورة تشرح سبب وجود كل عنصر، مما يجعل هذا الإسهاب يبدو أقل اعتباطًا.
كم يستغرق تعلّم Java؟
يمكن تعلّم أساسيات Java عادة خلال أسبوع أو أسبوعين من التدريب اليومي. ولإنشاء مشاريع حقيقية بثقة، خصص من شهر إلى ثلاثة أشهر حسب سرعتك وخبرتك السابقة.
هل أتعلم Java أم Python أولاً؟
اختر بناءً على هدفك، لا على درجة الصعوبة. Python أقصر في الكتابة ورائع للبيانات والـ scripting والذكاء الاصطناعي. أما Java فهي المعيار في Android والـ backends المؤسسية وقواعد الكود الضخمة للفرق الكبيرة، كما أن نظام الـ strict typing فيها يُعلّمك أساسيات OOP التي تنفعك في كل مكان. إذا لم يكن لديك هدف محدد، فإن Python تجعلك تشعر بالإنتاجية أسرع.
هل يمكنني تعلّم Java مجانًا عبر الإنترنت؟
نعم. دورة Java التفاعلية مجانية — دروس وتمارين برمجية واختبارات قصيرة وشهادة إتمام. المحرر يعمل داخل المتصفح، فلا حاجة لتثبيت JDK محليًا حتى تبدأ كتابة Java.
هل أحتاج إلى تثبيت Java لاستخدام هذه الدورة؟
لا. كل تمرين Java يتم تجميعه وتشغيله على الخادم في بيئة sandbox معزولة، ويظهر الناتج بجانب الكود مباشرة. لا حاجة لتثبيت JDK ولا IDE ولا إعداد أي مشروع.
هل أحصل على شهادة في Java في النهاية؟
نعم. عند إنهاء دورة Java تحصل على شهادة إتمام مجانية. ليست اعتمادًا جامعيًا، لكنها دليل قابل للتحقق على أنك أنجزت دورة Java منظَّمة وتفاعلية مع تمارين برمجية حقيقية.