السلاسل النصية
السلاسل النصية
السلاسل النصية درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 1 من أصل 1. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Java Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Java Academy 1 دروس في المجموع.
مقدمة
مرحبًا،
يُستخدم نوع البيانات string في Java لتخزين بياناتنا النصية. والسلاسل النصية أنواع بيانات مرجعية وليست بدائية في Java.
عند وضع البيانات النصية في متغير من النوع String، يجب وضعها بين علامتي اقتباس مزدوجتين.
مثال
لنعرّف سلسلة نصية بسيطة.
String myText = "Coddy String";String
بعد هذا التعريف، أنشأت Java لنا كائنًا في الذاكرة باستخدام String.
وبما أن String كائن من نوع بيانات مرجعي، فهو يتضمن دوال مضمّنة توفرها Java API.
ربط String
في Java، يُستخدم العامل (+) لدمج سلسلتين نصيتين مختلفتين.
class Main {
public static void main(String[] args) {
String catOne = "Coddy";
String catTwo = "Garfield";
String catNames = catOne + " " + catTwo;
System.out.println(catNames);
}
}دالة concat
بالإضافة إلى العامل +، يمكننا دمج سلسلتين نصيتين مختلفتين باستخدام الدالة concat.
System.out.println(catOne.concat(catTwo));
//CoddyGarfieldالدالة lenght
ربما تكون الدالة length() الأكثر استخدامًا من بين هذه الدوال.
تتيح لنا هذه الدالة معرفة عدد الأحرف التي يتكون منها تعبير سلسلة نصية.
class Main {
public static void main(String[] args) {
String myText = "Coddy String";
System.out.println("total char:" + myText.length());
}
}أحرف كبيرة - أحرف صغيرة
والآن، لنتعلّم كيفية استخدام الدالتين toUpperCase وtoLowerCase.
class Main {
public static void main(String[] args) {
String catOne = "Coddy";
String catTwo = "Garfield";
System.out.println(catOne.toUpperCase()); // CODDY
System.out.println(catTwo.toLowerCase()); // garfield
}
}indexOf
إذا أردنا البحث داخل سلسلة نصية، فسنستخدم الدالة indexOf.
في المثال أدناه، جرى البحث عن الحرف s، وتبيّن أنه موجود في الفهرس السابع.
class Main {
public static void main(String[] args) {
String txt = "My cat is Coddy";
System.out.println(txt.indexOf("s")); //7
}
}علامتا الاقتباس
قد يخطر السؤال التالي ببالنا.
بينما توضع السلاسل النصية بين علامتي اقتباس مزدوجتين، ماذا نفعل إذا أردنا تمرير علامتي اقتباس مزدوجتين داخل String كما يلي؟
String txt = "My cat is "Coddy"";حرف الهروب
يحتوي الكود أعلاه على أخطاء في الصياغة، ولذلك لا يترجمه المترجم. إذا أردنا استخدام علامتي اقتباس مزدوجتين داخل تعبير String، فعلينا استخدام الشرطة المائلة العكسية، وهي حرف الهروب.
يخبر هذا الحرف المترجم بأن هذا تعبير String، وأنه ينبغي تقييمه ضمن النص.
class Main {
public static void main(String[] args) {
String txt = "My cat is \"Coddy\"";
System.out.println(txt); //My car is "Coddy"
}
}مثال
عند تعريف السلسلة النصية، ذكرنا أنها نوع مرجعي وليست نوعًا بدائيًا.
والآن لنعرّف سلسلتين نصيتين بالقيمة نفسها.
class Main {
public static void main(String[] args) {
String catOne = "Coddy";
String catTwo = "Coddy";
boolean status = catOne == catTwo;
//status => false
}
}الدالة equals
ينفذ العامل == فحص القيمة للمتغيرات البدائية. أما أنواع الكائنات مثل String، فتحتفظ بالعنوان في الذاكرة لا بالكائن نفسه.
عند تعريف كائنين، حتى إن كانت لهما القيمة نفسها، فإن وجودهما في منطقتين مختلفتين من الذاكرة يعني أن المتغيرين catOne وcatTwo يحتفظان فعليًا بعنوانين مختلفين. لذلك، عند مقارنتهما باستخدام العامل ==، تكون النتيجة false.
تُستخدم الدالة Equals لمقارنة قيم سلسلتين نصيتين.
if(catOne.equals(catTwo)){
//codeblock works
}الدالة equals
تُستخدم الدالة Equals لمقارنة قيم سلسلتين نصيتين.
if(catOne.equals(catTwo)){
//codeblock works
}مثال متتابع
في المثال أعلاه، ستعيد الدالة equals القيمة true لأنها تقارن البيانات الموجودة في العنوان، لا عناوين الكائنات.
تهانينا
في هذا القسم، تعلّمنا السلاسل النصية في Java.
نراكم في الدرس التالي. 🥳

الأسئلة الشائعة
هل درس «السلاسل النصية» مجاني؟
نعم — نص درس «السلاسل النصية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 1 دروس في المجموع.
ماذا ستتعلم في «السلاسل النصية»؟
السلاسل النصية تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟
لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 1.
كم من الوقت يستغرق درس «السلاسل النصية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟
نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.