الدرس(9) السلاسل النصية (Strings) ودوالها الأساسية.

رقم الدرس 9
آخر تحديث 2025/07/20
تقدم القراءة

الدرس التاسع: النصوص ككائنات حية


ماذا لو كانت الكلمات التي تكتبها في برنامجك ليست مجرد حروف جامدة، بل كائنات ذكية لها قدرات خاصة؟ ماذا لو كان بإمكانك أن تسأل أي نص عن طوله، أو أن تأمره بأن يحول كل حروفه إلى حروف كبيرة، أو أن تبحث داخله عن كلمة معينة؟ هذه ليست قصة خيالية. في جافا، الـ String (السلسلة النصية) ليس نوع بيانات أساسياً مثل int، بل هو “كائن” متكامل. يراه المبتدئون كنص بسيط، لكن المحترفين يرونه كصندوق أدوات قوي. اليوم، ستتعلم كيف تتحدث مع النصوص وتجعلها تعمل من أجلك.

ماذا ستتقن في هذا الدرس؟


فهم أن الـ String هو كائن (Object) وليس نوعاً أساسياً (Primitive).
تعلم كيفية إنشاء واستخدام السلاسل النصية.
إتقان استخدام الدوال (Methods) الأساسية المدمجة مع السلاسل النصية مثل .length(), .toUpperCase(), .toLowerCase(), و .contains().
فهم مفهوم “عدم القابلية للتغيير” (Immutability) للسلاسل النصية.

الفصل الأول: ما وراء النص
1

لماذا String يبدأ بحرف كبير؟


هل لاحظت أن أنواع البيانات الأساسية مثل int, double, boolean تبدأ بحرف صغير، بينما String يبدأ بحرف S كبير؟ هذه ليست مصادفة. إنها إشارة مهمة.
الأنواع الأساسية (Primitives): هي حاويات بسيطة ومباشرة لتخزين قيمة واحدة (رقم، حرف، قيمة منطقية). إنها مجرد “بيانات”.
الكائنات (Objects): هي حاويات أكثر تعقيداً. هي لا تخزن البيانات فقط، بل تحتوي أيضاً على دوال (أفعال) يمكنك استدعاؤها للقيام بعمليات على تلك البيانات. String هو كائن.

الكائن (Object)


هو كيان في البرمجة يجمع بين البيانات (المتغيرات) والسلوك (الدوال أو Methods). عندما تنشئ سلسلة نصية، فأنت لا تنشئ مجرد نص، بل تنشئ كائناً من نوع String يأتي مزوداً بمجموعة من الأدوات المفيدة.

الفصل الثاني: صندوق الأدوات الأساسي للنصوص

2

استدعاء الأفعال: الدوال الأساسية للـ String


للوصول إلى الأدوات (الدوال) المدمجة في كائن String، نستخدم النقطة . بعد اسم المتغير. لنستكشف أهم هذه الأدوات.
.length(): لمعرفة الطول. هذه الدالة لا تأخذ أي مدخلات، وترجع (return) طول السلسلة النصية (عدد الحروف) كرقم int.
.toUpperCase(): للتحويل إلى حروف كبيرة. تحول كل الحروف في النص إلى حالتها الكبيرة.
.toLowerCase(): للتحويل إلى حروف صغيرة. تحول كل الحروف إلى حالتها الصغيرة.
.contains(“…”): للبحث عن محتوى. تبحث عن النص الذي تمرره لها داخل السلسلة النصية. ترجع قيمة boolean (true إذا وجدته، و false إذا لم تجده).
جرب هذه الأدوات بنفسك!

اضغط على "تشغيل" لعرض النتيجة هنا.

رسائل النظام ستظهر هنا.

جاهز
السطر 1, العمود 1


الفصل الثالث: لغز النص الذي لا يتغير
3

عدم القابلية للتغيير (Immutability)


هنا يكمن أحد أهم وأغرب المفاهيم حول السلاسل النصية في جافا: إنها غير قابلة للتغيير (Immutable).
ماذا يعني هذا؟ عندما تستدعي دالة مثل .toUpperCase() على سلسلة نصية، فإنها لا تغير السلسلة النصية الأصلية. بدلاً من ذلك، فإنها تنشئ سلسلة نصية جديدة تماماً في الذاكرة تحتوي على التعديل، ثم ترجعها لك. السلسلة النصية الأصلية تظل كما هي دون أي تغيير.
شاهد هذا اللغز بعناية.

اضغط على "تشغيل" لعرض النتيجة هنا.

رسائل النظام ستظهر هنا.

جاهز
السطر 1, العمود 1

لماذا هذا مهم؟


هذا المفهوم يضمن أن السلاسل النصية آمنة وموثوقة. إذا قمت بتمرير سلسلة نصية إلى جزء آخر من برنامجك، فأنت تضمن أنها لن تتغير بشكل غير متوقع. هذا يمنع فئة كاملة من الأخطاء الصعبة.


الفصل الرابع: أدوات أكثر تخصصاً
4

القطع والاستبدال


صندوق أدوات String يحتوي على الكثير من الأدوات الأخرى. إليك اثنتان من الأدوات المفيدة جداً:
.startsWith(“…”): هل يبدأ بـ…؟ يتحقق مما إذا كانت السلسلة النصية تبدأ بالنص المحدد. يرجع boolean.
.endsWith(“…”): هل ينتهي بـ…؟ يتحقق مما إذا كانت السلسلة النصية تنتهي بالنص المحدد. يرجع boolean.
.replace(“old”, “new”): استبدال. يبحث عن كل ظهور للنص القديم (old) ويستبدله بالنص الجديد (new). وكالعادة، يرجع سلسلة نصية جديدة ولا يغير الأصلية.
.trim(): التشذيب. يزيل أي مسافات فارغة (whitespaces) من بداية ونهاية السلسلة النصية. مفيد جداً عند التعامل مع مدخلات المستخدم.

اضغط على "تشغيل" لعرض النتيجة هنا.

رسائل النظام ستظهر هنا.

جاهز
السطر 1, العمود 1

إذا كان لديك متغير String name = \







خلاصة رحلة اليوم


لقد كشفت اليوم عن الطبيعة الحقيقية للسلاسل النصية. أنت لم تعد تراها كنصوص جامدة، بل ككائنات ديناميكية لها أدواتها الخاصة. تعلمت كيف تسأل النص عن خصائصه (.length())، وكيف تأمره بتغيير حالته (.toUpperCase())، وكيف تبحث وتستبدل داخله. والأهم من ذلك، لقد فهمت مبدأ “عدم القابلية للتغيير”، وهو حجر الزاوية الذي يجعل التعامل مع النصوص في جافا آمناً وموثوقاً.

تحويل أنواع البيانات


لقد أتقنت التعامل مع الأرقام والنصوص كل على حدة. ولكن ماذا يحدث عندما تحتاج إلى تحويل رقم مخزن داخل نص إلى رقم حقيقي يمكنك إجراء عمليات حسابية عليه؟ أو العكس؟ في الدرس القادم، سنتعلم فن تحويل أنواع البيانات (Type Casting)، وهي المهارة التي تسمح لك ببناء جسور بين عوالم البيانات المختلفة في برنامجك.

🔐 سجل دخولك لحفظ التقدم

سجل دخولك لحفظ تقدمك والحصول على شهادة إتمام

تسجيل الدخول