مفهوم النصوص
نص: تعني String في جافا, و الـ String عبارة عن مجموعة من الأحرف.النوع String عبارة عن كلاس و لاحظ أنه يبدأ بحرف كبير مثل إسم أي كلاس في جافا.
إذاً عندما نقوم بتعريف String فنحن فعلياً نقوم بتعريف كائن, و لكننا نقول له متغير لأنه بشكل عام يسمح لنا بتخزين أي قيمة بداخله و لكنه في الأساس كائن نوعه String و ليس متغير عادي.
طريقة تعريف String
أبسط طريقة و الأكثر إستخداماً هي تعريفه مثل متغير عادي.مثال
String welcome = "helo word!";
تذكر أنك حتى لو قمت بتعريفه مثل متغير عادي, سيعتبره المترجم كائن.
و مثل أي كائن, تستطيع إنشاء كائن نوعه String من خلال الكلمة new و من خلال الكونستركتور, و ستفهم معنى هاتين الكلمتين في دروس لاحقة.
الكلاس String يحتوي على 13 كونستركتور يمكنك استخدامهم لوضع قيمة أولية في النص من خلال عدة مصادر, مثل من مصفوفة أحرف.
مثال
package strings; public class Test { public static void main(String[] args) {// هنا قمنا بتعريف مصفوفة من الأحرف char[] hello= { 'h', 'e', 'l', 'l', 'o' };// من خلال الكونستركتور helloString هنا وضعنا محتوى مصفوفة الأحرف كنص للكائن String helloString = new String(hello);// helloString هنا قمنا بعرض قيمة الكائن System.out.println( helloString ); } }
hello
مفهوم الـ Concatenation
Concatenation تعني إضافة محتوى نص على نص, أي كأنك تنسخ نص و تلصقه في نهاية نص آخر.يمكنك تطبيق الـ Concatenation في جافا بطريقتين:
بإستخدام العامل +
أو بإستدعاء الدالة concat() التي شرحناها لاحقاً في هذا الدرس.
مثال
سنقوم بتعريف نصين و نعطيهم قيم, ثم سنعرف نص ثالث و نضع النصين السابقين فيه.package strings; public class Test { public static void main(String[] args) { String s1 = "welcome to ";// هنا قمنا بتعريف النص الأول String s2 = "google.com";// هنا قمنا بتعريف النص الثاني String s3 = s1 + s2; // أضفنا قيمة النصين السابقين في النص الثالث System.out.println( s3 );// هنا عرضنا قيمة النص الثالث لنتأكد إذا تمت عملية الإضافة كما نريد } }
welcome to google.com
دوال الكلاس String
الكلاس String هو كلاس جاهز في الجافا ويحتوي علي دوال كثيرة للتعامل مع النصوص ومن هذه الدوال :
دوال للبحث (Searching).
دوال للتجزيء (Substring).
دوال للتبديل (Replacing).
دوال للمقارنة (Comparison).
دوال للمعالجة (Manipulation).
الكلاس String يعتبر Immutable class و هذا يعني أنك عندما تستدعي أي دالة على String, لن تعدل محتوى الـ String, الذي قام باستدعائها, بل سترجع لك نسخة معدلة من هذا الـ String و سيبقى الـ String الأصلي كما هو .
دوال البحث
إسم الدالة | تعريفها |
---|---|
()charAt | ترجع الحرف الموجود على الـ index الذي نحدده في الـ argument للـ String الذي قام بإستدعائها. |
()indexOf | تبحث عن أول index يوجد فيه الحرف الذي نضعه كـ argument في الـ String الذي قام بإستدعائها و ترجعه. |
()lastIndexOf | تبحث عن آخر index يوجد فيه الحرف أو النص الذي نضعه كـ argument في الـ String الذي قام بإستدعائها و ترجعه. |
()contains | ترجع true إذا كان الـ String الذي قام بإستدعائها يحتوي على الـ CharSequence الذي نضعه كـ argument. |
دوال التجزي
إسم الدالة | تعريفها |
---|---|
()substring | ترجع String جديدة عبارة عن substring من الـ String الذي قام باستدعائها. |
()subSequence | ترجع جزء نحدده من محتوى الـ String كمصفوفة نوعها CharSequence. |
()split | تقسم الـ String إلى مصفوفة نوعها String و ترجعها. |
دوال التبديل
إسم الدالة | تعريفها |
---|---|
()replace | تأخذ إثنين arguments عبارة عن char أو CharSequence. تبحث عن قيمة الـ argument الأول في كل محتوى الـ String الذي قام باستدعائها و تبدلها بقيمة الـ argument الثاني. |
()replaceAll | تأخذ إثنين arguments عبارة عن String, الأول عبارة عن الجزء الذي نريده أن يتبدل في كل محتوى الـ String الذي قام باستدعائها, و الثاني عبارة عن الجزء الذي سيحل مكانه. |
()replaceFirst | تأخذ إثنين arguments عبارة عن String, الأول عبارة عن الجزء الذي نريده أن يتبدل في أول مكان يتم إيجاده في الـ String الذي قام باستدعائها, و الثاني عبارة عن الجزء الذي سيحل مكانه. |
دوال المقارنة
إسم الدالة | تعريفها |
---|---|
()startsWith | تختبر قيمة الـ argument, إذا كانت موجودة في بداية الـ String الذي قام باستدعائها سترجع true. |
()endsWith | تختبر قيمة الـ argument, إذا كانت موجودة في نهاية الـ String الذي قام باستدعائها سترجع true. |
()equals | تقارن الـ String الذي قام باستدعائها مع أي كائن نضعه كـ argument. |
()equalsIgnoreCase | تقارن الـ String الذي قام باستدعائها مع الـ String الذي نضعه كـ argument. لا يهمها إذا كانت الأحرف كبير أو صغيرة. |
()contentEquals | تقارن الـ String الذي قام باستدعائها مع الـ StringBuffer الذي نضعه كـ argument و ترجع true فقط في حال كانت جميع أحرفهم متطابقة. |
()compareTo | تقارن الـ String مع أي كائن آخر نضعه كـ argument. |
()compareToIgnoreCase | تقارن الـ String الذي قام باستدعائها مع الـ String الذي نضعه كـ argument. و لا يهمها إذا كانت الأحرف كبير أو صغيرة. |
()matches | تحدد إذا كان الـ String يطابق الشرط الموضوع أم لا. |
()regionMatches | تحدد إذا كان إثنين String عندهم جزأين متساويان أم لا. |
دوال المعالجة
إسم الدالة | تعريفها |
---|---|
()concat | تضيف محتوى الـ argument في آخر الـ String الذي قام بإستدعائها. |
()copyValueOf | تنسخ محتوى مصفوفة الأحرف التي نضعها كـ argument في String و ترجعها. |
()getChars | تنسخ أحرف الـ String الذي قام باستدعائها بداخل مصفوفة من الأحرف نضعها كـ argument مع تحديد النطاق الذي نريد نسخه و المكان الذي نريد وضع الأحرف فيه. |
()hashCode | ترجع hash span للـ String الذي قام باستدعائها. |
()intern | تمنع وجود أكثر من String يحتوى على نفس المحتوى, لذلك هي مهمة جداً من أجل التخزين. فهي تسرع عمل المعالج و تحفظ مساحات الذاكرة. |
()length | ترجع طول الـ String |
()toCharArray | تحول الـ String لمصفوفة نوعها char و ترجعها. |
()toLowerCase | تحول جميع أحرف الـ String لأحرف صغيرة. |
()toUpperCase | تحول جميع أحرف الـ String لأحرف كبيرة. |
()trim | ترجع نسخة من الـ String لا تحتوي على مسافات فارغة في بدايتها و نهايتها. |
()valueOf | ترجع أي قيمة نضعها كـ argument كـ String |
تدعم جافا بعض التسلسلات الخاصة بالمسافات ومنها
الرمز | الوظيفة |
---|---|
\n | Newline |
\r | Carriage return |
\t | tap |
\" | Double quote |
\' | Single quote |
\s | space |
\\ | backslash |
ليست هناك تعليقات:
إرسال تعليق
ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.