Java التلاعب بالسلاسل باستخدام EXAMPLE
ما هي السلاسل في Java?
السلسلة بالمعنى الحرفي هي سلسلة من الأحرف. مرحبًا، هل قلت الأحرف، أليس هذا نوعًا بدائيًا من البيانات؟ Java. نعم، لذلك من الناحية الفنية، الأساسية Java السلسلة هي في الأساس مجموعة من الأحرف.
لذلك سلسلتي أعلاه من "ROSE"يمكن تمثيلها على النحو التالي -
لماذا استخدام السلاسل؟
إحدى الوظائف الأساسية لعلوم الكمبيوتر الحديثة هي معالجة اللغة البشرية.
على نحو مماثل لأهمية الأرقام في الرياضيات، فإن رموز اللغة مهمة للمعنى واتخاذ القرار. ورغم أنها قد لا تكون مرئية لمستخدمي الكمبيوتر، فإن أجهزة الكمبيوتر تعالج اللغة في الخلفية بدقة ووضوح مثل الآلة الحاسبة. وتوفر مربعات الحوار المساعدة التعليمات. وتوفر القوائم الخيارات. وتُظهِر شاشات البيانات الحالات والأخطاء والتغييرات التي تطرأ على اللغة في الوقت الفعلي.
ك Java أيها المبرمج، ستكون إحدى أدواتك الرئيسية لتخزين اللغة ومعالجتها هي فئة String.
أمثلة على بناء جملة السلسلة
الآن، دعونا نصل إلى بعض بناء الجملة، بعد كل شيء، نحن بحاجة إلى كتابة هذا Java الكود أليس كذلك.
السلسلة عبارة عن مجموعة من الأحرف، ممثلة على النحو التالي:
//String is an array of characters
char[] arrSample = {'R', 'O', 'S', 'E'};
String strSample_1 = new String (arrSample);
من الناحية الفنية، يتم تعريف السلسلة على النحو التالي في المثال أعلاه-
= new (argument);
الآن لا يمكننا دائمًا كتابة سلاسلنا كمصفوفات؛ ومن ثم يمكننا تحديد السلسلة في Java كما يلي:
//Representation of String String strSample_2 = "ROSE";
من الناحية الفنية، يتم تمثيل ما ورد أعلاه على النحو التالي:
= ;
أكثر من فئة السلسلة Java يمتد القادم فئة الكائن.
تسلسل السلسلة:
التسلسل هو ربط سلسلتين أو أكثر.
ألقِ نظرة على الصورة أدناه-
لدينا سلسلتين str1 = "Rock" وstr2 = "Star"
إذا قمنا بجمع هاتين السلسلتين، فيجب أن نحصل على نتيجة مثل str3 = "RockStar".
تحقق من مقتطف الكود أدناه، وهو يشرح الطريقتين لإجراء تسلسل السلسلة.
الأول يستخدم "CONCAT"طريقة ""String class"" والثانية تستخدم عامل ""+"" الحسابي. كلتا النتيجتين تؤديان إلى نفس الناتج""
public class Sample_String{
public static void main(String[] args){
//String Concatenation
String str1 = "Rock";
String str2 = "Star";
//Method 1 : Using concat
String str3 = str1.concat(str2);
System.out.println(str3);
//Method 2 : Using "+" operator
String str4 = str1 + str2;
System.out.println(str4);
}
}
الناتج المتوقع:
RockStar RockStar
مهم Java طرق السلسلة:
دعونا نسأل Java قم بطرح بعض الأسئلة على الفصل ومعرفة ما إذا كان يمكنه الإجابة عليها:
طريقة "طول السلسلة".
كيف يمكنك تحديد طول السلسلة المعطاة؟ لقد قدمت طريقة تسمى "الطول". استخدمها مع السلسلة التي تحتاجها لمعرفة الطول.
public class Sample_String{
public static void main(String[] args){ //Our sample string for this tutorial
String str_Sample = "RockStar";
//Length of a String
System.out.println("Length of String: " + str_Sample.length());}}
الناتج المتوقع:
Length of String: 8
طريقة "فهرس" السلسلة
إذا كنت أعرف الطول، فكيف يمكنني العثور على الشخصية الموجودة في أي موضع؟ باختصار، كيف يمكنني العثور على فهرس الحرف؟
لقد أجبت بنفسك يا صديقي، هناك طريقة “indexOf” ستساعدك على تحديد مكان حرف معين تقوم بتحديده.
public class Sample_String{
public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));
//Index of a given character
System.out.println("Index of character 'S': " + str_Sample.indexOf('S'));}}
الناتج المتوقع:
Character at position 5: t Index of character 'S': 4
طريقة سلسلة "charAt".
على غرار السؤال أعلاه، بالنظر إلى الفهرس، كيف أعرف الشخصية الموجودة في ذلك الموقع؟
مرة أخرى، الأمر بسيط للغاية!! استخدم طريقة "charAt" وقم بتوفير الفهرس الذي تريد العثور على الحرف الخاص به.
public class Sample_String{
public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));}}
الناتج المتوقع:
Character at position 5: t
طريقة "المقارنة مع" السلسلة
هل أريد التحقق مما إذا كانت السلسلة التي تم إنشاؤها بواسطة طريقة ما تساوي شيئًا أريد التحقق منه؟ كيف يمكنني مقارنة سلسلتين؟
استخدم الطريقة "compareTo" وحدد السلسلة التي ترغب في مقارنتها.
استخدم "compareToIgnoreCase" في حالة عدم رغبتك في أن تكون النتيجة حساسة لحالة الأحرف.
ستكون النتيجة القيمة 0 إذا كانت سلسلة الوسيطة مساوية لهذه السلسلة؛ قيمة أقل من 0 إذا كانت هذه السلسلة أقل من وسيطة السلسلة من الناحية المعجمية؛ وقيمة أكبر من 0 إذا كانت هذه السلسلة أكبر من وسيطة السلسلة من الناحية المعجمية.
public class Sample_String{
public static void main(String[] args){//Compare to a String
String str_Sample = "RockStar";
System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar"));
//Compare to - Ignore case
System.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}
الناتج المتوقع:
Compare To 'ROCKSTAR': -32 Compare To 'ROCKSTAR' - Case Ignored: 0
طريقة "الاحتواء" للسلسلة
أعرف جزئيًا ما الذي يجب أن تحتوي عليه السلسلة، كيف يمكنني التأكد مما إذا كانت السلسلة تحتوي على سلسلة من الأحرف التي أحددها؟
استخدم الطريقة "يحتوي"وحدد الأحرف التي تريد التحقق منها.
سياسات الإرجاع والاستبدال صحيح إذا وفقط إذا كانت هذه السلسلة تحتوي على التسلسل المحدد لقيم char.
public class Sample_String{
public static void main(String[] args){ //Check if String contains a sequence
String str_Sample = "RockStar";
System.out.println("Contains sequence 'tar': " + str_Sample.contains("tar"));}}
الناتج المتوقع:
Contains sequence 'tar': true
طريقة السلسلة "endsWith".
كيف يمكنني التأكد من انتهاء السلسلة بلاحقة معينة؟ مرة أخرى أجبت عليه. استخدم طريقة "endsWith" وحدد اللاحقة في الوسائط.
سياسات الإرجاع والاستبدال صحيح إذا كان تسلسل الأحرف الذي تمثله الوسيطة هو لاحقة لتسلسل الأحرف الذي يمثله هذا الكائن.
public class Sample_String{
public static void main(String[] args){ //Check if ends with a particular sequence
String str_Sample = "RockStar";
System.out.println("EndsWith character 'r': " + str_Sample.endsWith("r"));}}
الناتج المتوقع:
EndsWith character 'r': true
طريقة السلسلة "replaceAll" و"replaceFirst".
أريد تعديل سلسلتي في عدة أماكن واستبدال عدة أجزاء من السلسلة؟
Java طرق استبدال السلسلة واستبدال الكل واستبدال الأول. يمكنك تحديد جزء السلسلة الذي تريد استبداله والسلسلة البديلة في الوسائط.
public class Sample_String{
public static void main(String[] args){//Replace Rock with the word Duke
String str_Sample = "RockStar";
System.out.println("Replace 'Rock' with 'Duke': " + str_Sample.replace("Rock", "Duke"));}}
الناتج المتوقع:
Replace 'Rock' with 'Duke': DukeStar
خيط Java "إلى أحرف صغيرة" & Java طريقة "الأحرف الكبيرة".
أريد أن تظهر سلسلتي بأكملها بأحرف صغيرة أو بأحرف كبيرة؟
ما عليك سوى استخدام الأساليب "toLowercase()" أو "ToUpperCase()" مقابل السلاسل التي تحتاج إلى تحويل.
public class Sample_String{
public static void main(String[] args){//Convert to LowerCase
String str_Sample = "RockStar";
System.out.println("Convert to LowerCase: " + str_Sample.toLowerCase());
//Convert to UpperCase
System.out.println("Convert to UpperCase: " + str_Sample.toUpperCase());}}
الناتج المتوقع:
Convert to LowerCase: rockstar Convert to UpperCase: ROCKSTAR
نقاط مهمة يجب ملاحظتها:
- السلسلة هي فئة نهائية; أي بمجرد إنشاء القيمة لا يمكن تغييرها. وبالتالي تسمى كائنات السلسلة غير قابلة للتغيير.
- أكثر من Java يقوم الجهاز الظاهري (JVM) بإنشاء موقع ذاكرة خاص بالسلاسل التي يتم استدعاؤها تجمع سلسلة ثابتة. لهذا السبب يمكن تهيئة السلسلة بدون الكلمة الأساسية "الجديدة".
- فئة السلسلة تقع تحت java.lang.String التسلسل الهرمي. ولكن ليست هناك حاجة لاستيراد هذه الفئة. Java منصة توفر لهم تلقائيا.
- خيط يمكن تجاوز المرجع ولكن هذا لا يحذف المحتوى; أي إذا
سلسلة h1 = "مرحبا"؛
h1 = "مرحبا"+"العالم";
ثم لا يتم حذف سلسلة "hello". انها فقط تفقد مقبضها.
- مراجع متعددة يمكن استخدامها لنفس السلسلة ولكنها سوف تفعل ذلك تحدث في نفس المكان; أي إذا
سلسلة h1 = "مرحبا"؛
سلسلة h2 = "مرحبا"؛
سلسلة h3 = "مرحبا"؛
ثم يتم إنشاء تجمع واحد فقط لسلسلة "hello" في الذاكرة مع 3 مراجع-h1,h2,h3
- إذا لم تكن الجامعة المرغوب التقدم اليها غير مذكورة أعلاه ، فاتصل بنا للحصول على الرقم مذكور في "" ثم أنه يصبح سلسلة، لم يعد رقماً. يعني إذا
السلسلة S1 =”الرقم هو: “+ “123”+”456″;
النظام.خارج.println(S1);
ثم سيطبع: الرقم هو: 123456
إذا كانت التهيئة هكذا:
السلسلة S1 = "الرقم هو: "+(123+456);
System.out.println(S1);
فيطبع: الرقم: 579
هذا كل شيء بالنسبة للسلاسل!



