JavaRush /مدونة جافا /Random-AR /سلاسل في جافا
articles
مستوى

سلاسل في جافا

نشرت في المجموعة
في هذا البرنامج التعليمي سوف نتعلم كيفية العمل مع السلاسل في جافا. السلاسل النصية، المستخدمة على نطاق واسع في البرمجة، هي عبارة عن سلسلة من الأحرف. في لغة برمجة جافا، السلاسل هي كائن. توفر منصة Java فئة Stringلإنشاء السلاسل ومعالجتها. سلاسل في جافا - 1

إنشاء سلاسل

إن أبسط طريقة لإنشاء سلسلة تبدو كما يلي:
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);
هذا كل شئ! :) رابط للمصدر: سلاسل في جافا
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION