المتغيرات النصية والدوال التابعة لها ماذا عن البيانات الحرفية charوالبيانات النصية String ؟ لا يوجد بالجافا إلا نوع واحد أساسي للبيانات الحرفية هو char يتم تخزين قيمة حرف واحد به محاطا بعلامة اقتباس مفردة ويمكن ربط هذه الحروف لتكوين سلاسل نصية باستخدام معامل الربط )+( النوعString  عبارة عن كلاس و لاحظن أنهّ يبدأ بحرف كبير مثل اسم أي كلاس في جافا. و لكننّا نقول له متغيرّ لأنهّ بشكل عام يسمح لنا بتخزين أي قيمة بداخله و لكنهّ في الأساس كائن نوعهString  و ليس متغيرّ عادي. تحاط القيمة بأقواس اقتباس مزدوجة. .import  لذا لا يستلزم استدعائها بجملةjava. String  له فقط معاملين + و=+  والتي تستخدم في ربط النصوص. كلاس String  له دوال Methods يمكن استدعاءها. String vs  مقابلchar   تعريف البيانات النصية وتهيئتها  يتم تعريف المتغيرات النصية كأي متغير من أنواع البيانات الأساسية كيفية تعامل الجافا مع النص String greeting=“Hello world !”   عند تعريف متغير نصي بالشكل التال عدد أحرف الـString  يسمّىlength  في مثالنا عدد الحروف 13 رقم الخانة يسمّىindex  فهرس إذا قمنا بأخذ جزء من الـString يسمّى هذا الجزءsubstring الوظيفةالعملية )دالة / معامل( إضافة نص إلى اخر المتغير النصي+= احتساب عدد الحروف او طول النصlength تعيد نص جديد عن طريق  اخذ جزء من النصsubstring نعطيها أيّ حرف أو نص, تقارن الـ String  الذي قام باستدعائها مع أي كائن نضعه كـقيمة ممررةequals تقارن الـString  مع أي كائن آخر نضعه  بداخلهاcompareTo هذه الدالة ترجع true إذا كان الـ String الذي قام باستدعائها يحتوي على النص الذي نضعه بداخلهاcontains جمع او ربط المتغيرات النصية  جمع او ربط المتغيرات النصية إضافة نص على المتغير النصي عند تعريف متغير نصي بالشكل التالي  ”12-1“String DATE= في حال رغبتنا إضافة السنة على المتغير DATE  نستخدم معامل الربط والاسناد =+مثال محتوى DATE الان 2017-12-1 تكتب الدالة بعد اسم المتغير ثم نقطة ثم اسم الدالة مثال:- تعيد عدد الحروف وهو دائم رقم صحيح )طول النص( int x="thank you". تعيد نص جديد عن طريق  اخذ جزء من النص عند استدعاء هذه الدّالة لدينا خياران: 2)تحديد من أين تبدأ و أين تنتهي, substring (i, ◦ تعيد نص من الفهرس رقم )i( إلى اخر النصtelevision String s = "welcome to java course"; افتراضيا هذه الدالةّ تبدأ عمليةّ البحث من الـفهرس رقم 0 إلى آخر فهرس موجود في الـ String. رقم صحيح مكان أول ظهور للحرف او النص -1 إذا كان الحرف غير موجود بالنصتصاغ بالشكل التالي:- البحث فسيتم البحث تلقائيا 6//   ; indexOf(‘eمن 0 إلى اخر النص 1-//    (’greeting. String name =“President George Washington"; String name =“President George Washington"; تقارن الـ String  الذي قام باستدعائها مع أي كائن نضعه كـقيمة ممررة قيمة الإرجاع1)ترجع true إذا كانت قيمة الـنص الممرر تساوي قيمة الـ String الذي قام باستدعائها. 2)ترجع false إذا كانت قيمة النص الممرر لا تساوي قيمة الـ String الذي قام باستدعائها. String s = "abc"; String t = "ab"; في حالة كتابة الجمل التالية خطأ لأنها كائنات لا يمكن مقارنتها بهذه الطريقة //u==sسيظهر خطأ بالصياغة ولمقارنة متغيرين نصيين نستخدم الدالة equalsu. تقارن الـString  مع أي كائن آخر نضعه  بداخلها ترجع 0 إذا كان لا يوجد إختلاف بين الـString و الـقيمة الممررة ترجع قيمة أكبر أو أصغر من 0 ككودASCII  تمثلّ أول فارق تمّ إيجاده بين الـقيمة الممررة و String s1 = "welcome to home"; String s2 = "welcome to Home"; String s3 = s1; هذه الدالة ترجع true إذا كان الـ String الذي قام باستدعائها يحتوي على النص الذي نضعه بداخلها 1)ترجع true إذا كان الـ String  الذي قام باستدعائها يحتوي على النص الممرر 2)ترجع false إذا كان الـ String  الذي قام باستدعائها لا يحتوي على النص الممرر String s1=“today lesson about java string methods”; عند تحديد رقم الفهرس index خارج نطاق الأرقام تغيير حالة الحرف من كبير إلى صغير او العكس في أسماء الدوال عدم تمرير قيمة للدالة String s1=“today lesson is about java string methods”; خطأ لأن رقم المؤشر خارج النطاق//    ; Scanner sc=new Scanner(System.   // hello world String sub=str. النوعDate  عبارة عن كلاس و لاحظن أنهّ يبدأ بحرف كبير مثل اسم أي كلاس في جافا. إذاً عندما نقوم بتعريفDate  فنحن فعلياً نقوم بتعريف كائن. لتعريف كائن من كلاس Date Date d = new Date(); حيث ان d كائن من كلاس Date ويمكن تسميته بأي اسم  و Date  هو اسم الكلاس , إنشاء كائن من class Date وطباعة قيمته Date currentDate = new Date(); Current Date: Sun Mar 19 07:25:06 AST 2017 يمكن كذلك تحويل أي كائن من نوع Date  إلى متغير نصي للاستفادة من الدوال الخاصة بالنصوص باستخدام الدالة ()toString بعد اسم الكائن دالة toString تقوم بإرجاع قيمة نصية من المستحسن ان يتم تعريف متغير وتخزين القيمة المعادة فيه // هنا  قمنا بتخزين الوقت والتاريخ الحالي للجهازString s = currentDate. // s هنا  قمنا بتخزين الوقت كنص فيSystem. // s هنا  قمنا بعرض قيمة الـSystem. println( “length of date " + s. Current Date: Mon Feb 06 07:55:02 AST 2017 Length of date 28