آموزش برنامه نویسی جاوا

آموزش برنامه نویسی جاوا (بخش دوازدهم: معرفی و آموزش نحوه استفاده از کلاس String و کار با رشته ها در جاوا)

در بخش معرفی متغیرها ، متغیر String برای شما معرفی شد. گفتیم که متغیر String رشته است که میتوانید با آن کلمات و یا جملات را ذخیره کنید. رشته، مجموعه ای از کاراکترهاست. پس هر نوع مجموعه کاراکتری را می توان به صورت رشته درنظر گرفت.

یک رشته می تواند با استفاده از کلمه کلیدی String به صورت زیر تعریف شود:

String myString = "Hello world!";

دقت کنید که مقدار رشته در مثال بالا، یعنی !Hello World در داخل دابل کوتیشین (“) قرار گرفته است. در واقع وقتی کدی شبیه کد بالا برای تعریف رشته می نویسیم، یک شی از کلاس String تعریف می شود که مقدار آن !Hello World است.

در بخش معرفی کلاس ها به شما گفته شد که برای تعریف یک شی از کلمه کلیدی new استفاده کنید. پس برای تعریف رشته نیز می توانید از کلمه new استفاده نمایید:

همان طور که به شما گفته شد برای تعریف آرایه می توانید به صورت زیر عمل کنید:

char[] myArray = { 'S','T','R','I','N','G'};

حال یک شی از کلاس String ساخته و آرایه بالا را به عنوان آرگومان برای آن شی تعریف می کنیم:

String myString = new String(myArray);

در کد بالا myString که یک String است، مقدار کاراکترهای آرایه ی myArray را به صورت رشته دریافت می کند. پس اگر از آن خروجی بگیریم، مقدار STRING را به ما نشان می دهد:

System.out.print(myString);

خروجی : STRING

متدهای کلاس String

کلاس String دارای متدهای فراوانی می باشد که با نوشتن اسم متغیر String که خود یک شی از کلاس String است و سپس زدن نقطه (dot) می توان متدهای آن را در کامپایلر مورد استفاده دید. به عنوان مثال عکس زیر در کامپایلر NetBeans من، برای متغیر myString که در بالا معرفی کرده بودیم، نشان دهنده آن متدهاست:

اگر من بخواهم از متد ()length استفاده کنم، این متد مقدار int را به من بر میگرداند. این متد دارای ورودی نمی باشد. محل توضیحات مربوط به این متد در عکس مشخص شده است.

طول رشته در جاوا

برای به دست آوردن طول رشته که همان تعداد کاراکترهای به کار رفته در آن است، می توانید از متد ()length استفاده نمایید:

int ToolReshte = myString.length();
System.out.print(ToolReshte);

از آنجایی که مقدار متغیر myString برابر “STRING” است، کد بالا همانطور که انتظار می رود، مقدار 6 را بر می گرداند.

آیا رشته ما حاوی این رشته است؟

متد بعدی که می خواهیم به آن بپردازیم، به بررسی این موضوع می پردازد که آیا این رشته در رشته ی ما به کار رفته است یا خیر. اگر به کار رفته باشد، مقدار True و در غیر این صورت مقدار False به کار می رود.

به عنوان مثال، کد زیر مقدار True را به ما نمایش می دهد:

String Jomle = "Emrooz Hava Abri Ast."; 
System.out.print(Jomle.contains("Hava"));

الحاق دو رشته

برای آن که دو رشته را به همدیگر اتصال دهیم، تا یک رشته ی جدید حاوی دو رشته ی قبلی به دست آید، از متد ()concat استفاده می شود:

String myString1 = "Gsm"; 
String myString2 = "Developers";

System.out.print(myString1.concat(myString2));

به دست آوردن محل دقیق اولین کاراکتر در یک رشته

اگر بخواهیم محل دقیق کاراکتری را در یک رشته به دست آوریم از متد ()indexOf استفاده می کنیم. این متد، کاراکتری که می خواهیم را از آرگومان ورودی اش گرفته، و سپس محل آن را در رشته به صورت یک عدد از نوع int بر میگرداند. به عنوان مثال کد زیر مقدار 5 را برمیگرداند. که محل اولین کاراکتر ‘e’ است.

String myString3= "Gsm Developers";
int TheIndex = myString3.indexOf('e');
System.out.print(TheIndex);

به دست آوردن محل دقیق آخرین کاراکتر در یک رشته

در مثال بالا دیدید که محل اولین کاراکتر ‘e’ در رشته یعنی محل 5ام به دست آمد. حال اگر بخواهیم محل آخرین کاراکتر را در رشته به دست آوریم از متد ()lastIndexOf استفاده می کنیم:

String myString5 = "Gsm Developers";
System.out.print(myString5.lastIndexOf('e'));

کد بالا مقدار 11 را بر میگرداند.

متد مقایسه compareTo

وظیفه این متد مقایسه می باشد. این متد دو نوع مقایسه را انجام می دهد. اول یک رشته را با یک شی دیگر مقایسه می کند و دوم دو رشته را با یکدیگر مقایسه می نماید. خروجی این متد یک عدد int می باشد که اگر 0 باشد به این معنی است که دو رشته باهم کاملا مساوی هستند و اگر خروجی متد کمتر از 0 باشد ورودی متد از خود رشته صدا زننده متد از لحاظ کاراکتری کوچکتر می باشد و اگر خروجی بزرگتر از 0 باشد به این معنی است که از لحاظ کد اسکی کاراکتر ها خود رشته بزرگتر از آرگومان ورودی اش می باشد. برای مثال به کد زیر دقت کنید:

String myString1 = "Gsm"; 
String myString2 = "Developers";
String myString3 = "Gsm Developers";
String myString4 = "Gsm Developers";
System.out.print(myString1.compareTo(myString2));
System.out.print(myString3.compareTo(myString4));

در کد بالا، اولین کد چاپ، خروجی 3 را بر میگرداند و دومی خروجی 0 را برمی گرداند که نشان می دهد رشته ی myString3 و myString4 با هم یکی هستند.

تبدیل رشته به آرایه

با استفاده از متد ()toCharArray می توان، یک رشته را به صورت آرایه تبدیل نمود.

String myString5 = "Gsm Developers";
char[] StringToArray = myString5.toCharArray();

با استفاده از متد ()charAt می توان، کاراکتری که در محل مشخصی در رشته است را مشخص کرد. آن محل مشخص را می توان به ورودی متد ()charAt داد. به عنوان مثال (6)charAt ، کاراکتر 6ام را در رشته بر میگرداند.

String myString5 = "Gsm Developers";
char myCh = myString5.charAt(5);
System.out.print(myCh);

کد بالا مقدار خروجی ‘e’ را بر میگرداند.

Arash

طراح سایت و برنامه نویس

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا