في هذا البرنامج التعليمي سوف نتعلم كيفية العمل مع السلاسل في جافا. السلاسل النصية، المستخدمة على نطاق واسع في البرمجة، هي عبارة عن سلسلة من الأحرف. في لغة برمجة جافا، السلاسل هي كائن. توفر منصة Java فئة
String
لإنشاء السلاسل ومعالجتها.
إنشاء سلاسل
إن أبسط طريقة لإنشاء سلسلة تبدو كما يلي:String greeting = "Hello world!";
في هذه الحالة، "مرحبا بالعالم!" عبارة عن سلسلة حرفية (أي ثابتة) تتكون من سلسلة من الأحرف المحاطة بعلامات اقتباس. عندما يواجه المترجم سلسلة حرفية، فإنه يقوم بإنشاء كائن من النوع String
بقيمة، في حالتنا، "Hello World!". مثل أي كائن آخر، يمكن إنشاء سلسلة باستخدام الكلمة الأساسية new
. يحتوي الفصل String
على ثلاثة مُنشئات تسمح لك بإنشاء كائن باستخدام مصادر مختلفة، مثل مصفوفة الأحرف .
char[] helloArray = {'h', 'e', 'l', 'l', 'o', '.'};
String helloString = new String(helloArray);
System.out.println(helloString);
سيتم طباعة السطر الأخير من المثال مرحباً على الشاشة . الفئة String
غير قابلة للتغيير، لذلك بمجرد إنشاء كائن، لا يمكننا تغييره. يمكن لبعض الطرق التي سننظر إليها أدناه حل هذه المشكلة. لأن String
غير قابل للتغيير، تقوم هذه الطرق بإنشاء وإرجاع سلسلة جديدة تحتوي على نتيجة العملية.
طول سلسلة جافا
تسمى طرق الحصول على معلومات حول سلسلة طرق الوصول. إحدى هذه الأساليبlength()
. تقوم بإرجاع عدد الأحرف في السلسلة. في المثال التالي len
سيكون 17:
String palindrome = "Dont saw I saw Tod";
int len = palindrome.length();
يحتوي المتغير palindrome
على متناظر، أي. كلمة أو جملة تقرأ نفسها في كلا الاتجاهين. دعونا نكتب برنامجًا صغيرًا من شأنه أن يعكس التناظر المتناظر. سوف نستخدم الطريقة charAt(i)
التي تُرجع الحرف i من السلسلة، بدءًا بـ 0
.
public class StringDemo {
public static void main(String[] args) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
char[] tempCharArray = new char[len];
char[] charArray = new char[len];
//создадим из строки
// массив символов
for (int i = 0; i < len; i++) {
tempCharArray[i] =
palindrome.charAt(i);
}
// перевернем массив символов
for (int j = 0; j < len; j++) {
charArray[j] =
tempCharArray[len - 1 - j];
}
String reversePalindrome =
new String(charArray);
System.out.println(reversePalindrome);
}
}
سيقوم البرنامج بطباعة
doT saw I was toD
من أجل عكس سلسلة، قمنا أولاً بإنشاء مصفوفة من الأحرف من السلسلة (الحلقة الأولى)، ثم أنشأنا مصفوفة جديدة كتبنا فيها المصفوفة الأولى المعكوسة، ثم أنشأنا سلسلة جديدة. يحتوي الفصل String
على طريقة getChars()
تُرجع مصفوفة من الأحرف، لذلك يمكن استبدال الحلقة الأولى بالسطر:
palindrome.getChars(0, len, tempCharArray, 0);
تسلسل السلسلة
يطبق الفصلString
طريقة لتسلسل سلسلتين:
string1.concat(string2);
سيُرجع هذا الرمز سلسلة جديدة تحتوي عليها string1
وتُلحق بها string2
. يمكنك أيضًا استخدام هذه الطريقة مع السلسلة الحرفية:
"My name is ".concat("Rumplestiltskin");
في أغلب الأحيان، يتم ربط السلاسل باستخدام +
عامل التشغيل " "، على سبيل المثال:
"Hello," + " world" + "!"
ستكون النتيجة السلسلة " Hello, World!" " يتم استخدام عامل التشغيل " +
" على نطاق واسع لعرض المعلومات، على سبيل المثال:
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
سيتم إخراج الكود " Dot Saw I Was Tod ". يمكن استخدام هذا التسلسل مع أي كائنات أخرى. بالنسبة للكائنات التي ليست سلاسل، سيتم استدعاء الأسلوب toString()
الذي يحولها إلى سلاسل. ضبط تنسيق إخراج السلسلة لقد بحثنا بالفعل في الطرق printf()
عندما format()
قمنا بتنسيق إخراج الأرقام. لدى الفئة String
طريقة مشابهة تقوم بإرجاع سلسلة. باستخدام الطريقة الثابتة، format()
من الممكن إنشاء قالب سهم يمكن إعادة استخدامه، على سبيل المثال بدلاً من ذلك:
System.out.printf ("The value of the float " +
"variable is %f, while " +
"the value of the " +
"integer variable is %d, "
"and the string is %s",
floatVar, intVar, stringVar);
يمكنك استخدام هذا الرمز:
String fs;
fs = String.format("The value of the float " +
"variable is %f, while " +
"the value of the " +
"integer variable is %d, " +
" and the string is %s",
froatVar, intVar, stringVar);
System.out.println(fs);
هذا كل شئ! :) رابط للمصدر: سلاسل في جافا
GO TO FULL VERSION