در این جلسه از آموزش جاوا قصد داریم کمی بیشتر درباره رشتهها و Stringها صحبت کنیم و اطلاعاتی را درباره نحوه کار با این نوع داده در زبان برنامهنویسی جاوا به شما ارائه دهیم. دقت داشته باشید که از این جلسه از آموزش برنامهنویسی جاوا (Java) بیشتر وارد مباحث کدنویسی میشویم و بیشتر بهصورت عملی این زبان را خواهیم آموخت. پس به شما پیشنهاد میکنیم در ادامه این دوره بسیار جذاب برای یادگیری زبان برنامهنویسی جاوا حتما ما را همراهی کنید. نکته دیگری که در این قسمت از بهترین آموزش جاوا باید به آن دقت داشته باشید این است که مباحث این جلسه و جلسات بعدی به میزان زیادی نیازمند تمرینکردن هستند؛ بنابراین بهتر است که هریک از مثالهایی که ما در این مطلب بیان میکنیم را بادقت مطالعه کنید و علاوهبرآن تمرینهای دیگری را نیز برای خود تعریف کرده و آنها را نیز انجام دهید تا به طور کامل به این مباحث مسلط شوید.
رشتهها یا Stringها
آشنایی با stringها در زبان برنامهنویسی جاوا
در جلسات قبلی از آموزش جاوا ما درباره چاپکردن یک متن صحبت کردیم و بیان کردیم که با استفاده از دستور System.out.println() میتوانید هر عبارتی که بخواهید را چاپ کنید. حال ما میخواهیم متنی که قصد چاپکردن آن را داریم ابتدا داخل یک متغیر از نوع رشته یا String بریزیم و سپس اقدام به چاپ کردن آن کنیم. برای این کار قطعه کد زیر را در نظر بگیرید:
package com.hamed;
public class Main{
public static void main(String[] args){
String hello = new String(“Hello world”);
System.out.println(hello);
}
}
دقت داشته باشید که کلاس String مربوط به پکیج java.lang میباشد ولی زمانی که شما از این کلاس استفاده میکنید هیچ پکیجی در بخش بالایی import نمیشود. دلیل این موضوع این است که پکیج java.lang بهصورت پیشفرض در زبان برنامهنویسی جاوا import شده است و شما میتوانید بهراحتی بهتمامی کلاسهای این پکیج دسترسی پیدا کنید. با اجراکردن قطعه کد بالا مشاهده میکنید که خروجی hello world برای شما چاپ میشود.
نکته دیگری که باید در زمان استفاده از رشتهها در زبان جاوا به آن دقت داشته باشید این است که با وجود اینکه String یک نوع داده پیشرفته در این زبان است ولی نیازی نیست که شما آن را مانند قطعه کد بالا تعریف کنید و میتوانید مانند نوع داده اولیه با آن برخورد کرده و به همان شکل آنها را تعریف کنید؛ بنابراین برای انجام این کار قطعه کد زیر را در نظر بگیرید:
package com.hamed;
public class Main{
public static void main(String[] args){
String hello = “hello world”;
System.out.println(hello);
}
}
با اجرا گرفتن از این کد نیز مشاهده خواهید کرد که همان عبارت برای شما چاپ میشود. دلیل اصلی که در جاوا چنین قابلیتی برای شما بهعنوان یک برنامهنویس تعریف شده است کاربرد بسیار زیاد رشتهها در این زبان است که برای سادگی بیشتر آن را به شکلی طراحی کردهاند که بتوانید با این روش ساده نیز از آنها استفاده کنید.
اضافهکردن به رشته
اضافهکردن یک متن دیگر به Stringها در جاوا
یکی از مهمترین قابلیتهای stringها در جاوا این است که شما بهراحتی میتوانید هر متن دیگری را نیز به رشتهای که در حال حاضر دارید اضافه کنید. برای این کار به شکل زیر میتوانید از علامت جمع استفاده کنید:
package com.hamed;
public class Main{
public static void main(String[] args){
String hello = “hello world ” + “!!”;
System.out.println(hello);
}
}
خروجی این کد به شکل hello world !! خواهد بود. نکته دیگری که شما باید در این قسمت از آموزش جاوا به آن دقت داشته باشید این است که شما میتوانید دو متغیر رشتهای یا یک متغیر رشتهای و یک مقدار رشتهای را نیز با یکدیگر جمع کنید. بهعنوانمثال قطعه کد زیر را در نظر بگیرید:
package com.hamed;
public class Main{
public static void main(String[] args){
String hello1 = “hello world”;
String hello2 = hello1 + “ !!”;
System.out.println(hello2);
}
}
خروجی این قطعه کد نیز مشابه حالت قبلی و برابر hello world !! خواهد بود.
کلاس String دارای متدهای بسیار زیادی میباشد که هریک از آنها دارای ویژگیها و کاربردهای خاص خود هستند. ما در این جلسه از آموزش جاوا مقدماتی قصد داریم کمی بیشتر درباره برخی از مهمترین این متدها صحبت کنیم و شما را بیشتر با آنها آشنا کنیم.
متدهای startsWith و endsWith
آشنایی با متدهای startsWith و endsWith برای کار با رشتهها در جاوا
در این بخش از آموزش جاوا قصد داریم کمی بیشتر درباره این دو متد کلیدی و بسیار مهم stringها در زبان برنامهنویسی جاوا صحبت کنیم و کاربرد آنها را به طور مفصل به شما توضیح دهیم. متد startsWith متدی است که خروجی آن از نوع بولین است و در نتیجه مقداری که به ما برمیگرداند یا true یا flase خواهد بود. این متد یک ورودی نیز از شما دریافت میکند و بررسی میکند که آیا رشته شما با این ورودی آغاز شده است یا خیر؟ بهعنوانمثال برای آشنایی با طرز کار این متد قطعه کد زیر را در نظر بگیرید:
public class Main{
public static void main(String[] args){
String hello1 = “hello world”;
String hello2 = hello1 + “ !!”;
System.out.println(hello2.startsWith(“h”));
}
}
با اجرای این کد مشاهده میکنید که مقدار true برای شما چاپ میشود که نشاندهنده این است که رشته شما با حرف h شروع شده است.
متد دیگری که برای بررسی رشتهها مورداستفاده قرار میگیرد متد endsWith() میباشد. این متد نشاندهنده این است که آیا رشته شما با ورودی که به آن میدهید به اتمام رسیده است یا خیر؟ خروجی این متد نیز از نوع بولین است و دو مقدار true یا false را برمیگرداند. برای کارکردن با این متد قطعه کد زیر را در نظر بگیرید:
public class Main{
public static void main(String[] args){
String hello1 = “hello world”;
String hello2 = hello1 + “ !!”;
boolean isEndsWith = hello2.endsWith(“d”);
System.out.println(isEndsWith);
}
}
با اجرا گرفتن از این کد شما مشاهده میکنید که مقدار false برای شما چاپ میشود که نشاندهنده این است که رشته شما با کاراکتر d به اتمام نمیرسد.
یکی دیگر از متدهای بسیار پرکاربرد در زبان برنامهنویسی جاوا که در آموزش جاوا رایگان حتما باید با آن آشنا شوید متد contains میباشد. خروجی این متد نیز از نوع بولین است و یک ورودی از شما میگیرد. با دریافت یان ورودی متد contains بررسی میکند که آیا رشته شما حاوی ورودی که وارد کردهاید هست یا خیر؟ برای مثال قطعه کد زیر را در نظر بگیرید:
public class Main{
public static void main(String[] args){
String hello1 = “hello world”;
String hello2 = hello1 + “ !!”;
System.out.println(hello2.contains(“w”));
}
}
با اجرای این کد مشاهده میکنید که عبارت true برای شما چاپ میشود که نشاندهنده این است که رشته شما حاوی کاراکتر w میباشد. دقت داشته باشید که در ورودی هر سه متدی که در این بخش معرفی کردیم شما میتوانید انواع رشتهها را وارد کنید و لزومی ندارد که حتما یک کاراکتر را وارد کنید. نکته مهم دیگر درباره کاربرد متد contains است که باید به آن دقت داشته باشید. بهعنوانمثال فرض کنید شما میخواهید بررسی کنید ایمیلی که یک کاربر وارد کرده است ایمیل معتبری است یا خیر؟ در چنین شرایطی شما میتوانید با استفاده از این متد بررسی کنید که آیا ورودی کاربر دارای علامت @ هست یا خیر؟
متدهای isEmpty و trim()
آشنایی با متدهای isEmpty و trim() برای کار با رشتهها و stringها در زبان جاوا
در این بخش از آموزش جاوا قصد داریم درباره برخی دیگر از متدهای کاربردی برای رشتهها در زبان جاوا را به شما معرفی کنیم. یکی از این متدها متد isEmpty() است. بهعنوانمثال فرض کنید که شما یک فرم دارید که یک کاربر قصد ثبتنام کردن در آن را دارد و ما نمیخواهیم به کاربر اجازه دهید که نام، نام خانوادگی، ایمیل و ... را خالی وارد کند؛ بنابراین باید بررسی کنیم که رشتههای مربوط به آنها خالی نباشد. متد isEmpty() هیچ ورودی دریافت نمیکند و خروجی آن نیز از نوع Boolean است که true و false را به شما برمیگرداند. برای آشنایی بیشتر با این متد قطعه کد زیر را در نظر بگیرید:
public class Main{
public static void main(String[] args){
String email = “”;
System.out.println(email.isEmpty());
}
}
خروجی این کد true خواهد بود چراکه رشته email خالی است و هیچ کاراکتری در داخل آن قرار ندارد. دقت داشته باشید که ما یک متد دیگر با نام isBlank() نیز داریم که تقریبا عملکرد مشابهی دارد. این متد حتی اگر داخل رشته فاصله یا اسپیس هم قرار دهید و کاراکتر دیگری در آن نباشد مقدار true به شما برمیگرداند ولی متد isEmpty اگر فضای خالی در داخل رشته وجود داشته باشد عبارت false را برمیگرداند.
گاهی اوقات ممکن است رشتهای را دریافت کنید که در ابتدا، انتها یا ابتدا و انتهای آن یک یا چند کاراکتر فاصله وجود داشته باشد و وجود این کاراکترهای فاصله ممکن است مشکلساز شود. در چنین شرایطی است که شما میتوانید از متد trim() برای ازبینبردن این کاراکترهای فاصله در ابتدا و انتهای رشته خود استفاده کنید. نکتهای که باید در زمان استفاده از این متد به آن دقت داشته باشید این است که حتما باید خروجی این متد را بهصورت مستقیم چاپ کرده یا مورداستفاده قرار دهید یا اینکه آن را در یک متغیر ذخیره کنید تا بتوانید بعدها از نسخه trim شده این رشته استفاده کنید.
دلیل این موضوع این است که کلاس String غیرقابلتغییر است که اصطلاحا به آن immutable است. این یعنی زمانی که ما یک String تعریف میکنیم دیگر نمیتوانیم آن را تغییر دهیم. یعنی برای استفاده از تمامی متدهایی که تغییراتی را در داخل رشته ایجاد میکنند شما حتما باید نتیجه خروجی را در داخل یک متغیر ذخیره کنید تا بتوانید از آن در ادامه کدهای خود نیز استفاده کنید.
متدهای length و indexOf
آشنایی با متدهای length و indexOf برای کار با رشتهها
یکی دیگر از توابع بسیار مهم stringها در جاوا که در این بخش از آموزش جاوا قصد صحبتکردن درباره آن را داریم تابع length() است. در طول کدنویسی به زبان جاوا ممکن است گاهی اوقات نیاز داشته باشید تا تعداد کاراکترهای موجود در یکرشته را بررسی کنید. این تابع هیچ ورودی از شما نمیگیرد و خروجی آن نیز از نوع int است که یک عدد را برمیگرداند. این عدد در واقع نشاندهنده تعداد کاراکترهای موجود در داخل رشته شما است. برای کارکردن با این متد قطعه کد زیر را در نظر بگیرید:
public class Main{
public static void main(String[] args){
String hello = “Hello world”;
System.out.println(hello.length());
}
}
با اجرا گرفتن از این کد عدد 11 را در خروجی مشاهده خواهید کرد که نشان میدهد این رشته دارای 11 کاراکتر است. دقت داشته باشید که شمارش در زبان جاوا از عدد 1 شروع نمیشود و در شما برای اندیسگذاری کاراکترهای یکرشته باید از 0 شروع کنید.
یکی دیگر از متدهای بسیار مهمی که در آموزش جاوا باید با آن آشنا شوید متد indexOf() است که نشاندهنده موقعیت یک کاراکتر یا عبارت در داخل رشته شما خواهد بود. دقت داشته باشید که این متد در واقع موقعیت اولین تکرار عبارت یا کاراکتر ورودی را به شما برمیگرداند و همانطور که مشخص شد خروجی آن نیز از نوع int خواهد بود. برای کارکردن با این متد قطعه کد زیر را در نظر بگیرید:
public class Main{
public static void main(String[] args){
String hello = “Hello world”;
System.out.println(hello.indexOf(“H”));
System.out.println(hello.indexOf(“d”));
}
}
با اجراکردن این کد مشاهده میکنید که ابتدا عدد 0 نمایش داده میشود که نشاندهنده این است که کاراکتر H در موقعیت 0 قرار دارد و سپس عدد 10 نمایش داده میشود که نشان میدهد کاراکتر d در موقعیت 10 قرار دارد.
متدهای charAt و tolowerCase و toUpperCase
آشنایی با متدهای charAt و tolowerCase و toUpperCase
در آموزش جاوا گاهی اوقات ممکن است نیاز داشته باشید تا کاراکتری که در یک موقعیت خاص قرار دارد را دریافت کنید. برای این کار در زبان برنامهنویسی جاوا شما میتوانید از متد charAt() که مربوط به کلاس String است استفاده کنید. این متد از شما یک ورودی از نوع int دریافت میکند که در واقع موقعیتی است که شما قصد دارید کاراکتر آن را دریافت کنید. برای استفاده از این متد میتوانید قطعه کد زیر را مشاهده کنید:
public class Main{
public static void main(String[] args){
String hello = “Hello world”;
System.out.println(hello.charAt(9));
}
}
با اجرای این کد مشاهده میکنید که خروجی l برای شما چاپ میشود که نشاندهنده این است که نهمین کاراکتر موجود در داخل رشته شما کاراکتر ‘l’ است.
گاهی اوقات در برنامهنویسی ممکن است شما رشتهای را داشته باشید که باید آن را حتما با حروف کوچک یا بزرگ ذخیره کنید. بهعنوانمثال ممکن است برای ذخیرهکردن نام کاربری کاربران خود بخواهید این کار را انجام دهید. در این صورت شما میتوانید از یکی از کاربردیترین متدهای زبان جاوا برای کار با رشتهها استفاده کنید. این متدها با نام متدهای toLowerCase و toUpperCase شناخته میشوند که به ترتیب تمامی حروف را به حروف کوچک و بزرگ تبدیل میکنند. این متدها هیچ ورودی دریافت نمیکنند و خروجی آنها نیز یکرشته است که تمامی حروف را به ترتیب به حروف کوچک یا بزرگ تبدیل کرده است. بهعنوانمثال برای کارکردن با متد toLowerCase مثال زیر را در نظر بگیرید:
public class Main{
public static void main(String[] args){
String userName = “Hamed123”;
System.out.println(userName.toLowerCase());
}
}
خروجی این کد hamed123 خواهد بود.
متد substring
آشنایی با متد substring در زبان برنامهنویسی جاوا برای کار با رشتهها در این زبان
یکی دیگر از متدهای بسیار پرکاربرد برای کار با رشتهها در زبان برنامهنویسی جاوا متد substring است که ما در این بخش از آموزش جاوا قصد داریم نحوه کار با این متد را به شما توضیح دهیم. این رشته در واقع برای دریافت یک زیررشته یا زیرمجموعه از رشتهای که ما داریم مورداستفاده قرار میگیرد و شما با استفاده از آن میتوانید هر بخشی از رشته خود را جدا کرده و آن را در قالب یکرشته جدید دریافت کنید. این متد بهطورکلی دو ورودی از شما دریافت میکند که ورودی اول نقطه شروع زیررشتهای است که قصد جداکردن آن را دارید و ورودی دوم موقعیت آخرین نقطهای است که شما مدنظر دارید که باید آن را بهاضافه عدد یک کرده و در ورودی دوم قرار دهید. بهعنوانمثال اگر قصد داشته باشیم از ابتدا تا 5 کاراکتر ابتدایی یکرشته را دریافت کنیم برای ورودی اول عدد صفر و برای ورودی دوم نیز عدد 5 را قرار میدهیم. بهعنوانمثال قطعه کد زیر را در نظر بگیرید:
public class Main{
public static void main(String[] args){
String userName = “Hamed123”;
System.out.println(userName.substring(0,5));
System.out.println(userName.substring(5,8));
}
}
با اجرای قطعه کد بالا ابتدا عبارت hamed برای شما چاپ شده و سپس عبارت 123 برای شما چاپ میشود.
یکی از ویژگیهای مهم این متد این است که زمانی که شما قصد دارید از یک نقطه شروع تا انتهای یکرشته را بهعنوان زیررشته دریافت کنید دیگر نیازی به واردکردن ورودی دوم وجود ندارد و شما تنها با واردکردن نقطه شروع میتوانید خروجی مدنظرتان را دریافت کنید.
متد replace
آشنایی با متد replace() و کاربردهای آن در کار با رشتهها
آخرین متدی که قصد داریم در این جلسه از آموزش جاوا درباره آن صحبت کنیم متد replace است که همانطور که از نامش پیداست برای جایگزینکردن یک زیررشته در داخل رشته اصلی با یک عبارت یا رشته دیگر مورداستفاده قرار میگیرد و کاربرد دارد. این متد دو ورودی دریافت میکند که ورودی اول زیررشتهای است که شما قصد جایگزینکردن آن را دارید و ورودی دوم نیز عبارت جدیدی است که قصد دارید آن را داخل رشته خود قرار دهید. بهعنوانمثال قطعه کد زیر را در نظر بگیرید:
public class Main{
public static void main(String[] args){
String hello = “hello world”;
System.out.println(hello.replace(“l”, “-“));
}
}
خروجی این کد عبارت he—o wor-d خواهد بود.
قسمت قبلی آموزش رایگان java :
قسمت بعدی آموزش رایگان java :
یا جهت مشاهده ویدیوهای اموزشی آموزش رایگان جاوا وارد این صفحه شوید.