☕ مرجع Java بالعربي
كل كلمة مفتاحية وصنف ودالة قياسية في Java بالعربي: ماذا تفعل، صياغتها، مثال يوضّحها، وأشهر الأخطاء — لغة مُترجَمة فلا يوجد تشغيل حي في المتصفح. حاليًا 54 عنصر — والقائمة تكبر.
التحكّم بالتدفق
if / else
الشروط if و else
if و else تسمحان بتنفيذ كود مختلف حسب شرط منطقي — أساس البرمجة الشرطية.
switch
عبارة switch
switch تقارن قيمة واحدة مع عدة حالات محددة بدل كتلة if-else طويلة.
for
حلقة for
for loop تنفّذ كودًا عددًا محددًا من المرات — الأفضل عند معرفة عدد التكرارات مسبقًا.
while / do-while
حلقات while و do-while
while تنفّذ الكود طالما الشرط صحًا. do-while تُنفّذ مرة واحدة على الأقل قبل فحص الشرط.
break / continue
break و continue
break تخرج من الحلقة فورًا. continue تتخطى التكرار الحالي وتنتقل للتالي.
for-each
حلقة for-each
for-each (الصيغة المختصرة) تمرّ على كل عنصر في مصفوفة أو مجموعة مباشرة بلا فهرس.
معالجة الاستثناءات
try / catch / finally
معالجة الاستثناءات
try-catch-finally تلتقط أخطاء وقت التشغيل وتعالجها بدل توقف البرنامج.
throw / throws
رمي الإعلان الاستثناء
throw تُ扔 استثناء من داخل دالة. throws تُعلن أن الدالة قد تُ扔 استثناء ويجب على المنادي التعامل معه.
try-with-resources
try مع إدارة تلقائية للموارد
try-with-resources تُغلق الموارد (ملفات، اتصالات، تدفقات) تلقائيًا بعد الانتهاء — بديل finally اليدوي.
استثناءات مخصصة
تعريف استثناءات مخصصة
يمكنك إنشاء أنواع استثناءات خاصة بموضوع مشروعك لوضوح رسائل الخطأ.
المجموعات (Collections)
ArrayList
القائمة الديناميكية ArrayList
ArrayList قائمة ديناميكية الحجم تعمل كمصفوفة لكنها تكبر وتصغر تلقائيًا.
LinkedList
القائمة المرتبطة LinkedList
LinkedList قائمة مرتبطة doubly-linked تسمح بالإضافة والحذف السريع من البداية والنهاية لكن الوصول بالفهرس بطيء.
HashMap
خريطة HashMap
HashMap تخزن أزواج (مفتاح، قيمة) وتسمح بالوصول السريع O(1) للمفتاح.
HashSet
مجموعة HashSet
HashSet مجموعة من العناصر الفريدة فقط — تمنع التكرار وتسمح ببحث سريع.
Collections
أدوات المجموعات Collections
Collections يوفّر دوال ثابتة للمجموعات: ترتيب، خلط، عكس، وأقصى/أدنى قيمة.
Optional
حاوية Optional
Optional تمنع NullPointerException بدل ما تُرجع null — تُجبرك على التعامل مع الحالة الفارغة صراحة.
Comparator
مقارنة الكائنات Comparator
Comparator تُعرّف طريقة مقارنة مخصصة بين كائنتين — مفيدة للترتيب حسب معايير مختلفة.
TreeMap
الخريطة المرتبة TreeMap
TreeMap خريطة تحافظ على ترتيب المفاتيح تصاعديًا — بديل HashMap عندما تحتاج ترتيب.
TreeSet
المجموعة المرتبة TreeSet
TreeSet مجموعة فريدة مرتبة تصاعديًا — تحافظ على ترتيب العناصر تلقائيًا.
Comparable
واجهة المقارنة الطبيعية
Comparable تُعرّف الترتيب الطبيعي لصنفك — compareTo تُرجع سالب/صفر/موجب.
Iterator
المُكرّر Iterator
Iterator يمرّ على عناصر المجموعة عنصرًا واحدًا — الطريقة المعيارية للمرور القابل للتعديل.
Stream API
واجهة الـ Stream
Stream تسمح بمعالجة سلسلة من العناصر بداليًا: filter و map و reduce و collect.
List.of / Set.of / Map.of
مصنع المجموعات الثابتة
List.of و Set.of و Map.of يُنشئون مجموعات غير قابلة للتعديل (immutable) في سطر واحد.
أنواع البيانات والنصوص
String
النص String
String نص غير قابل للتعديل (immutable) في Java — كل عملية تعديل تُنشئ نصًا جديدًا.
StringBuilder
منشئ النصوص StringBuilder
StringBuilder يبني نصًا قابلاً للتعديل بكفاءة — الأفضل عند دمج عدة أجزاء.
Object
الصنف الأساسي Object
Object هو الصنف الأب لكل أصناف Java — يوفّر دوال مشتركة مثل toString و equals و hashCode.
Arrays
صنف Arrays للتعامل مع المصفوفات
Arrays يوفّر دوال ثابتة للتعامل مع المصفوفات: ترتيب، بحث، طباعة، ونسخ.
int / Integer
العدد الصحيح وصنفه المغلف
int نوع بدائي للعدّ، وInteger صنفه المغلف (wrapper) الذي يوفّر دوال مساعدة والتعامل مع المجموعات.
double / Double
العدد العشري وصنفه المغلف
double نوع بدائي للأعداد العشرية، وDouble صنفه المغلف مع دوال مثل parseDouble و isNaN.
boolean / Boolean
القيمة المنطقية وصنفها المغلف
boolean نوع بدائي للقيمة المنطقية (true/false)، وBoolean صنفه المغلف مع parseBoolean.
char / Character
الحرف وصنفه المغلف
char نوع بدائي لحرف واحد (16 بت Unicode)، وCharacter يوفّر دوال فحص وتحويل.
String.format
تنسيق النصوص
String.format تُنشئ نصًا مُنسّقًا بدل + المتكرر — أوضح وأمثلة للنماط الشائعة.
BigDecimal / BigInteger
أعداد كاملة وعشريّة كبيرة الدقة
BigDecimal للأعداد العشرية الدقيقة (أعمال مالية) وBigInteger للأعداد الصحيحة الكبيرة جدًا — بلا حدود.
LocalDate / LocalDateTime
التواريخ والأوقات الحديثة
LocalDate و LocalDateTime و LocalTime واجهات التاريخ والأوقات الحديثة بديل Date و Calendar القديمة.
Autoboxing / Unboxing
التحويل التلقائي بين الأنواع
Autoboxing تحول نوع بدائي لصنف مغلف تلقائيًا، وUnboxing العكس — تحدث تلقائيًا منذ Java 5.
الأدوات المدمجة
البرمجة الكائنية
class
تعريف الصنف
class تُعرّف صنفًا جديدًا يجمع حقولًا (بيانات) ودوالًا (سلوك) — حجر الأساس في Java.
interface
تعريف الواجهة
interface تُعرّف عقدًا من الدوال التي يلتزم الصنف بتنفيذها — تدعم الوراثة المتعدّدة.
extends
الوراثة
extends تجعل صنفًا يرث خصائص وسلوك صنف آخر — إعادة استخدام الكود وتجميع الأصناف المتقاربة.
implements
تنفيذ الواجهات
implements تُعلن أن الصنف ينفذ واجهة (أو أكثر) ويقدم كودًا لكل دالة مجرّدة فيها.
abstract
الصنف المجرّد
abstract تمنع إنشاء كائن من صنف وتجعله قالبًا للأصناف المشتقة — قد تحوي دوال مجرّدة بلا كود.
this
الإشارة this
this تشير للكائن الحالي الذي يُنفّذ الدالة — تُستخدم لتمييز الحقول عن المعاملات.
super
الإشارة super
super تشير للصنف الأب — للوصول لأعضائه أو استدعاء بانيه في المشتق.
new
إنشاء الكائنات
new تحجز ذاكرة لكائن جديد على الكومة وتستدعي باني الصنف لتهيئته.
instanceof
فحص نوع الكائن
instanceof تُرجع true إذا الكائن من النوع المحدد أو نوع مشتق منه — مفيدة في التعامل مع polymorphism.
Lambda
التعبير اللامي Lambda
Lambda تعبير دالي قصير بلا اسم — بديلanonymous class مع الواجهات الدالية.
Method Reference
مرجع الدالة
مرجع الدالة :: اختصار لـ lambda تستدعي دالة موجودة — أقصر وأوضح.
أساسيات اللغة
final
كلمة final للثبات
final تمنع التعديل: ثابت لا يمكن إعادة تعيينه، دالة لا يمكن إعادة تعريفها، صنف لا يمكن وراثته.
static
static للتخزين المشترك
static تجعل العنصر مشتركًا بين كل الكائنات (عضو صنف) أو متاحًا بلا كائن (دالة صنفية).
Generics
الأنواع العامّة Generics
Generics تتيح كتابة أصناف ودوال تعمل مع أي نوع مع الحفاظ على أمان النوع وقت الترجمة.
مستويات الوصول
مستويات الوصول Access Modifiers
أربعة مستويات الوصول في Java تتحكم في مدى رؤية الحقول والدوال للأجزاء الأخرى من البرنامج.
var
استنتاج النوع التلقائي
var تجعل المترجم يستنتج نوع المتغيّر تلقائيًا من قيمته — أ缩短 وأوضح للكود.
import / package
حزم واستيراد المكتبات
package تُعرّف حزمة الملف، وimport تستورد أصناف من حزم أخرى — تنظيم الكود واستيراد المكتبات.
🎓 تريد التعلم بالترتيب بدل المرجع السريع؟ ابدأ من مسار JAVA الكامل بالعربي.