النصوص في لغة جافا
النصوص في لغة الجافا هي تسلسل أحرف من الترميز الموحد يُونِكُود. على سبيل المثال، السلسلة النصية "java\u2122" تتكون من خمسة أحرف J, a, v, a, TM. جافا تتضمن عدة أنواع من أنواع البيانات مثل int, float, double ولكنها لا تتضمن نوع String، لذلك يوجد في جافا مكتبة تحتوي على فئة معرفة مسبقا خاصة بهذا النوع من أنواع البيانات تسمى String. عندما نستخدم هذا النوع في تعريف المتغيرات النصية فإننا في هذه الحالة نُنشأ كائن لحظي من فئة String.
المثال التالي يوضح لنا طريقة تعريف متغير من نوع String، ويجب ان ننتبه أن النص يكون مكتوب بين علامتي تنصيص.
- "" = String e
هنا قمنا بتعريف متغير نصي فارغ ولاحظ انه حتى يكون فارغ لم نضع مسافة داخل علامة التنصيص، في حال كان هناك مسافة بين علامتي التنصيص فانه لن يكون فارغ.
- "String greeting = "Hello
هذا المتغير من نوع String يحتوي على كلمة “Hello”.
اقتطاع جزء من النص Substrings
عدلعندما يكون لديك سلسة نصية وتريد أن تقتطع من هذه السلسة مجموعة أحرف فإنك تستطيع ان تقوم بذلك عن طريق دالة substring. دالة substring يمكن ان تُمرر بداخلها معاملين الأول يشير إلى عنوان أول حرف سوف تبدأ الدالة تقتطع منه والثاني يشير إلى أول عنوان لا تريده ان يكون من ضمن الجزء المستقطع. والمثال التالي يوضح ذلك،
- "String greeting = "Hello
- (String s = greeting.substring(0, 3
في السطر الأول كان لدينا متغير اسمه greeting من نوع String ومخزن بداخله كلمة “Hello”، وفي السطر الثاني عرفنا متغير اخر من نفس النوع وهذا المتغير سوف يحوي ناتج دالة substring. وفي حالتنا هذه كانت المعاملات المرسلة في هذه الدالة (o,3) بمعنى ان الدالة سوف تأخذ العنوان 0,1,2 فقط. وهذا يعني ان أول عنوان يُأخذ في الحسبان ولكن ثاني عنوان تستثنيه الدالة وتنظر إلى ما قبل هذا العنوان. إذاً الناتج المُخزن في هذا المتغير سيكون “Hel”.
توجد ميزة واحدة لطريقة عمل دالة substring, إنها تجعل من السهل حساب طول السلسلة النصية. السلسلة النصية (s.substring(a, b طولها يساوي b - a. وتطبيقاً على مثالنا أعلاه فإن طول “Hel” يساوي 3-0 = 3.
التسلسل
عدلجافا كأغلب لغات البرمجة، تسمح لك باستخدام إشارة + بغرض ربط سلسلتين نصية.
- "String expletive = "Expletive
- "String PG13 = "deleted
- String message = expletive + PG13
في المثال السابق عرفنا ثلاثة متغيرات من نوع String أول متغيرين يحتويان على سلسلة نصية، الآن في المتغير الثالث نريد أن نربط أول سلسلتين مع بعضهم البعض عن طريق إشارة + تجمع بين اسم المتغير الأول والمتغير الثاني وبالتالي يصبح الناتج "Expletivedeleted". (لاحظ انه عندما نستخدم هذه الإشارة للربط فانها تفتقر إلى المسافة بين الكلمات في حال لم يكن في اصل الكلمة توجد مسافات، إشارة + تربط بين سلسلتين نصية بالترتيب الذي تستقبله، تماما كما أُعطيت).
عندما تريد أن تجمع بين قيم نوعها ليس سلسلة نصية فانها سوف تُحول إلى String. على سبيل المثال،
- int age = 13
- String rating = "PG" + age
على الرغم أن متغير age نوعه عدد صحيح int ولكن عندما يتم ربطه باشارة + مع سلسلة نصية أُخرى فإنه سوف يتحول إلى سلسة نصية String.ويُخزن الناتج في متغير rating.
هذه الميزة تستخدم بشكل شائع في جمل الإخراج، على سبيل المثال،
- (System.out.println("The answer is " + answer
هذا مقبول وسوف يطبع ما يريد ان يطبع أي شخص، لاحظ هنا بعد is يوجد مسافة لذلك عند الطباعة سوف تظهر لنا بين الكلمة والأخرى.[1]
مراجع
عدل- ^ Horstmann, Cay S., 1959- Core Java Volume 1 Fundamentals 8th edition