در این آموزش نحوه کار با رشته ها در جاوا را یاد می گیریم. رشته ها که در برنامه نویسی بسیار مورد استفاده قرار می گیرند، دنباله ای از کاراکترها هستند. در زبان برنامه نویسی جاوا رشته ها یک شی هستند. پلتفرم جاوا کلاسی
String
برای ایجاد و دستکاری رشته ها فراهم می کند.
ایجاد رشته ها
ساده ترین راه برای ایجاد یک رشته به صورت زیر است:String greeting = "Hello world!";
در این مورد، "سلام جهان!" یک رشته لفظی (یعنی یک ثابت) است که از دنباله ای از کاراکترهای محصور در علامت نقل قول تشکیل شده است. هر زمان که کامپایلر با یک رشته Literal مواجه می شود، یک شی از نوع 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
شامل یک 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" + "!"
نتیجه رشته " سلام، دنیا!" " عملگر " +
" به طور گسترده ای برای نمایش اطلاعات استفاده می شود، به عنوان مثال:
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "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