آموزش متد equals در جاوا

می توانید شباهت دو رشته را با یکدیگر چک کنید. به این منظور از متود equals در جاوا استفاده کنید. دز اینجا کد مربوط به آن را مشاهده می کنید:

آموزش جاوا

در این کد سعی داریم شباهت دو آدرس ایمیل را بررسی کنیم. دو خط اول دو متغیر string را تنظیم می کنند، برای هر آدرس ایمیل یک متغیر. سومین خط یک متغیر Boolean برقرار می کند. این به این خاطر است که متود equals مقدار true یا false را بازمی گرداند. چهارمین خط جایی است که در آن از متود استفاده می کنیم:

1
isMatch = email_address1.equals( email_address2 );

بین پرانتزهای متود equals، رشته ای را قرار می دهید که سعی دارید آن را بررسی کنید. رشته ی دیگر قبل از متود تساوی قرار می گیرد. جاوا به شما می گوید که آیا این دو یکسان هستند یا نه (true or false). عبارت IF این موضوع را بررسی می کند.

به هرحال متود equals فقط آبجکت ها را مقایسه می کند. این برای رشته ها خوب می باشد، زیرا آنها نیز آبجکت می باشند. اما نمی توانید برای مقایسه ی متغیرهای int از متود equal استفاده کنید. برای مثال این کد منجر به بروز خطای زیر خواهد شد:

1
2
3
4
5
int num1 = 12;
int num2 = 13
Boolean isMatch = false;
 
isMatch = num1.equals(num2);

متغیر int نوع اولیه ی داده می باشد و نه یک آبجکت. شما می توانید نوع داده ی int را به یک آبجکت بازگردانید، گرچه:

1
2
int num1 = 12;
Integer num_1 = new Integer(num1);

در اینجا متغیر int با نام num1 به یک آبجکت عدد صحیح برگردانده شده است. به استفاده از کلمه ی کلیدی new دقت کنید. بین پرانتزهای Integer، نوع اولیه ی داده ی int را قرار می دهید که قصد تغییر آن را به یک آبجکت دارید.

 

  بازگشت به فهرست موضوعی: " آموزش گام به گام زبان شرین برنامه نویسی جاوا  "

آموزش متد Substring در جاوا

یک متد واقعا مفید برای شما متود substring نامیده می شود. این متود به شما اجازه می دهد تا یک متن را از متن دیگر جدا سازید. برای مثال در برنامه ی فوق در آدرس ایمیل خود می توانیم پنج کاراکتر آخر را از کل آدرس جدا کرده و بررسی کنیم که آیا co.uk است یا نه.

برای تمرین با substring می خواهیم دو حرف اول از نام خانوادگی را تغییر دهیم و آنها را با دو حرف اول یک نام شخصی جابه جا سازیم و بالعکس. بنابراین اگر این نام را داشته باشیم:

"Bill Gates"

حروف "Ga" از "Gates" را با "Bi" از "Bill" جابه جا سازیم تا لغت "Bites" را بسازیم. بنابراین "Bi" از "Bill" با "Ga" از "Gates" جابه جا خواهد شد تا لغت "Gall" را بسازد. نام جدید چاپ شده "Gall Bites" خواهد بود.

ما از substring در قسمت بیشتر این برنامه استفاده خواهیم کرد. Substring به این صورت کار می کند:

1
2
3
4
String FullName = "Bill Gates";
String FirstNameChars = "";
 
FirstNameChars = FullName.substring( 0, 2 );

در مورد "Bill Gates" برای جستجو یک رشته تنظیم می کنید. رشته ای که سعی در جستجوی آن دارید، بعد از یک علامت تساوی قرار می گیرد. بعد از یک نقطه (dot)، نام متود، substring، را تایپ کنید. دو روش برای استفاده از substring وجود دارد و تفاوت در اعداد بین پرانتزها می باشد. در کد فوق دو عدد 0 و 2 را داریم. این به این معناست که گرفتن کاراکترها در موقعیت 0 در رشته آغاز می شود و وقتی دو عدد دارید، این فرایند متوقف می شود. این دو کاراکتر بازگردانده می شوند و در متغیر FirstNameChars قرار می گیرند. اگر می خواهید درست در انتهای رشته قرار بگیرید، کافیست کار زیر را انجام دهید:

1
String test = FullName.substring( 2 );

این بار بین پرانتزهای substring تنها یک عدد داریم. اکنون جاوا از کاراکتر دو در رشته ی FirstName آغاز خواهد کرد و سپس کاراکترها را از موقعیت 2 درست در انتهای رشته می گیرد.

یک برنامه ی جدید آغاز کنید تا این برنامه را امتحان کنید. یک خط چاپ به انتهای کد خود اضافه کرده و کد شما نیز باید مانند زیر باشد:

آموزش جاوا

وقتی که برنامه اجرا می شود، پنجره ی Output باید شبیه به تصویر زیر باشد:

آموزش جاوا

بنابراین متود substring به ما اجازه ی گرفتن دو کاراکتر اول نام "Bill" را داده است.

برای گرفتن دو کاراکتر اول، یک 0 و یک 2 بین پرانتزهای substring داشتیم. ممکن است تصور کنید برای گرفتن "Ga" از "Gates" می توانستیم این کار را انجام دهیم:

1
= FullName.substring(5, 2);

بعد از همه ی اینها هنوز دو کاراکتر می خواهیم. فقط این بار 5 به جاوا می گوید که از "G" در "Gates" آغاز کنید. ( اولین موقعیت در یک رشته موقعیت 0 می باشد و نه 1). بنابراین از موقعیت 5 در این رشته آغاز کرده و دو کاراکتر را بگیرید.

به هرحال اجرای آن کد منجر به بروز خطا خواهد شد. این به این حاطر است که دومین عدد بین پرانتزهای substring به معنای تعداد کاراکترهایی که می خواهید بگیرید نیست، بلکه به معنای موقعیت نهایی در رشته می باشد. با مشخص کردن 2، به جاوا می گوییم که در کاراکتری در موقعیت 2 از رشته به اتمام برسد. از آنجایی که نمی توانید از موقعیت 6 به عقب بازگشته و به موقعیه 2 بروید، خطایی دریافت می کنید.

( نکته: اگر شمارش را در رشته ی "Bill" از 0 شروع کنید، ممکن است تصور کنید که موقعیت 2 حرف "l" می باشد و حدس شما درست است. اما substring قبل از کاراکتر در آن موقعیت آغاز می کند و پس از آن.)

بنابراین برای گرفتن "Ga" از "Gates" می توانید مانند زیر عمل کنید:

1
FullName.substring( 5, FullName.length( ) - 3 );

اکنون دومین عدد طول رشته منهای 3 کاراکتر می باشد. طول رشته تعداد کاراکترهایی است که آن رشته دارد. "Bill Gates" دارای 10 کاراکتر شامل فاصله، می باشد. اگر سه کاراکتر را کنار بگذارید، 7 کاراکتر خواهید داشت. بنابراین ما به substring می گوییم که در کارامتر 5 شروع شده و در کاراکتر 7 به پایان برسد.

این برنامه برای افرادی با نام "Bill Gates" به درستی کار می کند. اما اگر نام شما "Billy Gates" می بود، این برنامه به درستی کار نمی کرد. بنابراین کد فوق کاراکتر فاصله به علاوه ی حرف "G" را می گیرد که به هیچ وجه کاراکترهای مورد نظر ما نیستند. ما می خواهیم که برنامه با هر دو نامی که وارد می شوند، کار کند. بنابراین باید کمی زیرک تر باشیم.

کاری که می توانیم انجام دهیم این است که به موقعیت فاصله در هر دو نام دقت داشته باشیم. دو کاراکتری که می خواهیم از نام دوم بگیریم همیشه درست بعد از کاراکتر فاصله قرار می گیرند. ما به کدی احتیاج داریم که دو کاراکتر اول بعد از فاصله را بگیرد.

برای اشاره به موقعیت فاصله می توانیم از indexOf استفاده کنیم.

1
int spacePos = FullName.indexOf(" ");

برای تعیین کاراکتر فاصله، می توانید یک فاصله بین دو نماد نقل قول (") قرار دهید. این کاراکتر پس از پرانتزهای indexOf قرار می گیرد. مقدار بازگشت داده شده یک عدد صحیح خواهد بود که موقعیت اولین رویداد از کاراکتر فاصله در رشته ی FullName می باشد.

این تمرین را می توانید با اضافه کردن خط فوق به کد خود امتحان کنید: برای چک کردن Output یک خط چاپی اضافه کنید:

آموزش جاوا

برنامه را اجرا کنید تا خروجی زیر را مشاهده کنید:

آموزش جاوا

بنابراین در این رشته فاصله در موقعیت 4 می باشد. ما می توانیم از این واقعیت برای گرفتن دو کاراکتر اول از "Gates" یا در واقع هر نام دوم دیگری استفاده کنیم. به جاوا می گوییم که از اولین کاراکتر بعد از فاصله آغاز و در دو کاراکتر بعدی به اتمام برساند.

1
FullName.substring( spacePos + 1, (spacePos + 1) + 2)

بنابراین دو عدد بین پرانتزهای substring عبارتند از:

1
spacePos + 1, (spacePos + 1) + 2

ما می خواهیم که از اولین کاراکتر بعد از فاصله آغاز کنیم (space + 1) و دو کاراکتر بعد از این موقعیت به اتمام برسانیم که به این شکل می باشد: (spacePos + 1) + 2

خطوط زیر را به کد خود اضافه کنید (خطوطی که هایلایت شده اند. متود جدید substring در دو خط قرار می گیرد، اما شما اگر تمایل داشته باشید می توانید روی یک خط قرار دهید.):

آموزش جاوا

وقتی که برنامه را اجرا می کنید، پنجره ی Output مانند زیر خواهید بود:

آموزش جاوا

بنابراین اکنون ما "Bi" از Bill و "Ga" از Gates را داریم. آنچه اکنون باید انجام دهیم گرفتن بقیه ی کاراکترها از دو نام و سپس جابه جایی آنها می باشد.

مجددا می توانیم از substring برای گرفتن بقیه ی کاراکترها از نام اول استفاده کنیم:

1
2
3
String OtherFirstChars = "";
OtherFirstChars = FullName.substring( 2, spacePos );
System.out.println( OtherFirstChars );

و همچنین کاراکترهای باقیمانده از نام دوم:

1
2
3
4
5
String OtherSurNameChars = "";
OtherSurNameChars = FullName.substring((spacePos + 1) + 2,
FullName.length() );
 
System.out.println( OtherSurNameChars );

به اعداد بین پرانتزهای substring دقت کنید. برای گرفتن دیگر کاراکترهای نام اول، اعداد عبارتند از:

1
2, spacePos

این به جاوا می گوید که از موقعیت 2 شروع کرده و درست به موقعیت فاصله برود. به هرحال گرفتن بقیه ی نام دوم کمی دشوارتر خواهد بود:

1
(spacePos + 1) + 2, FullName.length( )

(spacePos1 + 1) + 2 موقعیت شروع سومین کاراکتر از دومین نام می باشد. ما می خواهیم که در طول رشته به پایان برسانیم که بقیه ی کاراکترها را دریافت خواهیم کرد.

خطوط های لایت شده ی زیر را به کد خود اضافه کنید:

آموزش جاوا

خروجی مانند زیر خواهید بود:

آموزش جاوا

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

آموزش جاواآموزش جاوا

می توانیم از خطوط چاپی رها شویم و از یک یوزر بخواهیم که نام اول و نام دوم را وارد کند. در اینجا برنامه ی جدید را مشاهده می کنید ( تنها افزایش برای ورودی صفحه کلید می باشد که قبلا از آن استفاده کرده اید):

آموزش جاوا

وقتی برنامه را اجرا می کنید و نام و نام خانوادگی را وارد می کنید، پنجره ی Output باید مانند تصویر زیر باشد:

آموزش جاوا

البته باید چند برنامه ی بررسی خطا نیز اضافه کنیم. اما خواهیم پذیرفت که یوزر می تواند یک نام و یک نام خانوادگی با یک فاصله بین آنها وارد کند. در غیر اینصورت برنامه با شکست مواجه می شود. 

 

  بازگشت به فهرست موضوعی: " آموزش گام به گام زبان شرین برنامه نویسی جاوا  "

سورس کد نوت پد به زبان جاوا

سورس کد نوت پد به زبان جاوا، امکاناتی مثل cut،copy و Past و قابلیت تنظیم رنگ متن را دارا می باشد که خیلی نکات خوب و آموزنده ای رو ارائه میدهد. 

دانلود برنامه :Source-code-for-notebook-in
حجم :15KB
منبع : سایت sourceiran

آموزش استفاده از متد indexOf در جاوا

متد indexOf برای قرار دادن یک کاراکتر یا یک رشته در داخل یک رشته ی دیگر استفاده می شود. به عنوان مثال می توانید از آن برای بررسی وجود کاراکتر @ در یک آدرس ایمیل استفاده کنید. اجازه بدهید از این مثال در کد استفاده کنیم.

مجددا می توانید روی کد خود کامنت بگذارید یا آن را حذف کنید. اما کد جدیدی برای امتحان کردن وجود دارد:

آموزش جاوا

میخواهیم وجود نماد @ را در آدرس ایمیل بررسی کنیم، بنابراین ابتدا یک متغیر char تنظیم کرده و به آن مقدار '@' اختصاص می دهیم. ( به نماد علامت نقل قول متغیر char دقت داشته باشید.). پس از تنظیم یک آدرس ایمیل، یک متغیر نتیجه داریم، این یک متغیر int می باشد. دلیل این که نتیجه یک عدد صحیح می باشد این است که متود indexOf یک مقدار گزارش خواهد داد. این مقدار عدد مربوط به موقعیت کاراکتر علامت را در رشته ی آدرس ایمیل باز خواهد گرداند. در اینجا خط مربوطه را مشاهده می کنید:

1
result = email_address.indexOf( ampersand );

رشته ای که در حال جستجوی آن هستید در ابتدا قرار می گیرد. پس از یک نقطه، indexOf را تایپ کنید. بین پرانتزهای indexOf گزینه های زیادی دارید: یکی از این گزینه ها تایپ کردن یک کاراکتر مجزا ( یا نام متغیر char) می باشد. ما متغیر علامت خود را (ampersand) بین پرانتزهای indexOf قرار داده ایم. جاوا موقعیت کاراکتر @ را در آدرس ایمیل به ما خواهد گفت. این مقدار را در متغیر نتیجه ذخیره خواهد کرد.

وقتی کد را اجرا می کنید خروجی 4 خواهد بود. ممکن است تصور کنید که علامت @ پنجمین کاراکتر در آدرس ایمیل می باشد، اما indexOf شمارش را از 0 شروع می کند.

به هرحال اگر کاراکتر در لغتی که آن را جستجو می کنید وجود نداشته باشد، indexOf مقدار 1- را گزارش می دهد. برای امتحان این مورد نماد @ را از آدرس ایمیل خود حذف کنید. سپس مجددا کد خود را اجرا کنید که 1- را به عنوان خروجی مشاهده خواهید کرد.

می توانید از مقدار گزارش شده ی 1- به نفع خود استفاده کنید. در اینجا مجددا کدی را مشاهده می کنید با یک عبارت IF که مقدار متغیر نتیجه را امتحان می کند:

آموزش جاوا

بنابراین اگر نتیجه ی indexOf عدد 1- باشد، می توانیم به یوزر اجازه ی ادامه ی کار بدهیم.

می توانید از indexOf برای تست کردن بیشتر از یک کاراکتر استفاده کنید. کد زیر آدرس ایمیل را چک می کند اگر با ".com" تمام می شود:

آموزش جاوا

کد تقریبا یکسان می باشد، به جز اینکه اکنون در حال استفاده از متغیر String برای حفظ متنی هستیم که می خواهیم برای وجود (.com) و نه متغیر char آن را بررسی کنیم.

اگر متنی که در جستجوی آن هستیم در string که قبل از نقطه ی مربوط به indexOf یافت نشد، مجددا نتیجه ی 1- گزارش داده خواهد شد. در غیر این صورت indexOf موقعیت اولین کاراکتر هماهنگ سازی را گزارش خواهد داد. در کد فوق وقتی شمارش را از 0 شروع می کنید، نقطه هفتمین کاراکتر در آدرس ایمیل می باشد.

می توانید یک موقعیت شروع نیز برای جستجوهای خود تعیین کنید. در مثال آدرس ایمیل می توانیم جستجو برای ".com" را پس از نماد @ آغاز کنیم. در اینجا کدی را می بینید که موقعیت نماد @ را تعیین می کند و سپس از آن به عنوان موقعیت آغازین برای جستجوی ".com" استفاده می کند.

آموزش جاوا

خط زیر در واقع خط جدید کد می باشد:

1
result = email_address.indexOf( dotCom, atPos );

تنها تفاوت افزودن یک متغیر اضاقه بین پرانتزهای indexOf می باشد. ما هنوز رشته ای داریم که در جستجوی آن هستیم ( که متنی است که در متغیر dotcom قرار می گیرد)، اما اکنون یک موقعیت ابتدایی برای جستجو داریم. این موقعیت مقدار متغیری به نام atPos می باشد. مقدار atPos با استفاده از indexOf برای تعیین موقعیت نماد @ در آدرس ایمیل به دست می آید. بنابراین جاوا به جای شروع از 0، جستجو را از این موقعیت آغاز خواهد کرد که پیش فرض می باشد.

Ends With … Starts With

برای برنامه ی فوق می توانید از متود داخلی endsWith استفاده کنید:

1
Boolean ending = email_address.endsWith( dotcom );

لازم است یک متغیر Boolean برای endsWith تنظیم کنید، زیرا متود پاسخ true یا false را گزارش خواهد داد. رشته ای که سعی در تست کردن آن دارید، بین پرانتزهای endsWith قرار می گیرد و متنی که در جستجوی آن هستید قبل از آن می آید. اگر متن در جستجوی رشته باشد، یک مقدار true گزارش داده می شود، در غیر اینصورت false خواهد بود. برای بررسی مقدار می توانید یک عبارت if … else اضافه کنید:

1
2
3
4
5
System.out.println( "Invalid Email Address" );
}
else {
System.out.println( "Email Address OK " );
}
1
if (ending == false ) {

متود startsWith به روشی مشابه استفاده می شود.

1
Boolean startVal = email_address.startsWith( dotcom );

مجددا مقدار گزارش شده یک مقدار true یا false از Boolean می باشد.

 

  بازگشت به فهرست موضوعی: " آموزش گام به گام زبان شرین برنامه نویسی جاوا  "

آموزش مقایسه ی رشته ها در جاوا

شما می توانید یک متود را با متود دیگر مقایسه کنید. ( در هنگام مقایسه جاوا از مقادیر هگزادسیمال به جای خود حروف استفاده خواهد کرد.). به عنوان مثال اگر بخواهید لغت "Ape" را با لغت "App" مقایسه کنید تا ببینید کدامیک نخست قرار می گیرد، می توانید از یک رشته متود داخلی به نام compareTo استفاده کنید. اجازه بدهید چگونگی کار آن را بررسی کنیم.

برای این کار نیازی به شروع یک پروژه ی جدید ندارید: به راحتی روی کدی که دارید کامنت بگذارید یا آن را حذف کنید. اکنون کد زیر را به آن اضافه کنید:

آموزش جاوا

ما دو رشته متغیر تنظیم کرده ایم که حاوی لغا ت "Ape" و "App" می باشند. متود compareTo در کد بالا خط زیر می باشد:

1
result = Word1.compareTo( Word2 );

متود compareTo یک مقدار را گزارش می دهد. مقدار گزارش شده یا کمتر از 0 یا بیشتر از 0 و یا مساوی 0 می باشد. اگر Word1 قبل از Word2 قرار بگیرد، مقدار گزارش شده کمتر از 0 خواهد بود. اگر Word1 بعد از Word2 قرار بگیرد، مقدار گزارش شده بزگتر از 0 خواهد بود. اگر هر دو لغت یکشان باشند، مقدار 0 گزارش خواهد شد.

بنابراین لازم است کقداری را اختصاص دهید که compareTo به یک متغیر بازمی گرداند. ما مقدار را در یک متغیر صحیح به نام نتیجه قرار می دهیم. عبارات IF در کد به سادگی تست می کنند تا مورد را در متغیر نتیجه مشاهده کنند.

به هرحال وقتی یک رشته از متن را با رشته ای دیگر مقایسه می کنید، جاوا به جای حروف واقعی، مقادیر هگزادسیمال تاکید شده را مقایسه می کند. از آنجایی که حروف بزرگ دارای مقدار هگزادسیمال کمتری نسبت به حروف کوچک هستند، حرف بزرگ A در App قبل از حرف کوچ a در ape قرار خواهد گرفت. می توانید این مورد را امتحان کنید. در کد خود "Ape" را به "ape" تغییر دهید. خروجی "Word1 is more than Word2" خواهد بود، به این معنا که از لحاظ الفبایی جاوا لغت ape را بعد از app قرار خواهد داد.

برای حل مشکل یک متود مرتبط به نام compareToIgnoreCase وجود دارد. همانطور که از نام آن پیداست حروف بزرگ و کوچک نادیده گرفته می شوند. با استفاده از این متود از لحاظ الفبایی لغت ape قبل از App قرار خواهد گرفت.

 

  بازگشت به فهرست موضوعی: " آموزش گام به گام زبان شرین برنامه نویسی جاوا  "

آموزش تغییر به حروف بزرگ و کوچک در جاوا

تبدیل رشته های خود به حروف بزرگ و کوچک کار آسانی می باشد: تنها از متودهای داخلی toUpperCase و toLowerCase استفاده کنید.

برای این کار یک پروژه ی جدید را شروع کرده و کد زیر را به آن اضافه کنید:

آموزش جاوا

دو خط اول از کد یک متغیر String برای حفظ متن "text to change" تنظیم می کنند و سپس آن را چاپ می کنیم. خط سوم یک متغیر دوم String به نام نتیجه را تنظیم می کند. و خط چهارم می باشد که در آن تبدیل را انجام می دهیم:

1
result = changeCase.toUpperCase( );

برای استفاده از یک متود string ابتدا رشته ی مورد نظر را تایپ کنید. برای ما این رشته در متغیر changeCase نامیده می شود. پس از نام متغیر یک نقطه تایپ کنید، سپس لیستی از متودهای موجود را مشاهده می کنید که می توانید در رشته ی خود از آنها استفاده کنید. toUpperCase را انتخاب کنید. ( متود پس از آن نیاز به پرانتز دارد.)

پس از اینکه جاوا لغت را به حروف بزرگ تغییر داده است، ما رشته ی جدید را به متغیر نتیجه ی خود مرتب می کنیم.

وقتی برنامه اجرا می شود، پنجره ی Output نتیجه ی زیر را نمایش خواهد داد:

آموزش جاوا

اما شما مجبور نیستید که لغت تغییر یافته را در یک متغیر جدید ذخیره کنید. این کار نیز انجام می شود:

1
System.out.println( changeCase.toUpperCase( ) );

در اینجا جاوا تنها با تغییر رشته و بدون نیاز به اختصاص دادن نتیجه به یک متغیر جدید، به کار خود ادامه خواهد داد.

در عوض اگر می خواهید فقط به حروف کوچک تغییر دهید، از متود toLowerCase استفاده کنید. این متود درست به روش متود toUpperCase استفاده می شود.

 

  بازگشت به فهرست موضوعی: " آموزش گام به گام زبان شرین برنامه نویسی جاوا  "

آموزش رشته ها در جاوا

در مورد رشته های جاوا موارد بیشتری از آنچه با چشم دیده می شود وجود دارد. بر خلاف متغیرهای int یا متغیرهای double، رشته ها آبجکت می باشند. و این در عمل به این معناست که با رشته های متن کارهایی می توانید انجام دهید که با متغیرهای double یا int نمی توانید انجام دهید. ( همین مورد برای انواع داده ی boolean، byte، single، char، float، long و short نیز به کار می رود: آنها مانند رشته ها آبجکت نیستند)

قبل از اجرای رشته های متن، در اینجا اطلاعات اصلی مربوط به رشته ها را مشاهده خواهید کرد.

چگونگی ذخیره ی رشته ها در جاوا

یک رشته مجموعه ای از کاراکترهای Unicode می باشد که تحت عنوان نام یک متغیر حفظ می شوند. رشته ی زیر را در نظر بگیرید.

1
String someText = "Bill";‎

این خط به جاوا می گوید که یک رشته آبجکت با چهار کاراکتر "B"، "i"، "l"و یک "l" دیگر برقرار کند. در مجموعه کاراکتر Unicode، این مقادیر عبارتند از: \u0042، \u0069، \u006c،\u006c . مقادیر Unicode به عنوان اعداد هگزادسیمال ذخیره می شوند. حروف بزرگ ( A تا Z) با استفاده از مقادیر \u0041 تا \u005a ذخیره می شوند، در حالیکه حروف کوچک ( a تا z ) با استفاده از مقادیر هگزادسیمال \u0061 تا \u007a ذخیره می شوند.

در بخش قبل یک array وجود داشت که رشته های متن را حفظ می کرد. سپس array را مرتب سازی کردیم.

آموزش جاوا

وقتی که برنامه اجرا می شود، خروجی مانند تصویر زیر می باشد.

آموزش جاوا

قبلا ذکر کردیم که لغت "This" در ابتدا قرار می گیرد. اگر قرار است array به ترتیب حروف الفبا مرتب شود، انتظار می رود که لغت "a" در ابتدا قرار بگیرد. این به این خاطر است که لغت "a" با حرف کوچک دارای مقدار هگزادسیمال u\0061 می باشد، که عدد دهدهی 97 می باشد. اما حرف بزرگ "T" دارای یک مقدار هگزادسیمال u\0054 می باشد که عدد دهدهی 84 است. 84 کمتر از 97 می باشد، بنابراین "T" در ابتدا قرار می گیرد.

بسیار خود، اجازه بدهید در موزد اجرای رشته های متن کارهایی انجام دهیم. رشته متدهایی که مورد بررسی قرار خواهیم داد، عبارتند از

toUpperCasse toLowerCase compareTo IndexOf endWith, startsWith Substring Equals charAt trim valueOf

متدهای اول در بالا متدهای آسانی می باشند، که به حروف بزرگ و کوچک تبدیل می شوند.

 

  بازگشت به فهرست موضوعی: " آموزش گام به گام زبان شرین برنامه نویسی جاوا  "

آموزش استفاده از Array Lists در جاوا

اگر از تعداد آیتم هایی که قرار است در array قرار بگیرند، اطلاعی ندارید، ممکن ست بهتر باشد از چیزی به نام ArrayList استفاده کنید. یک ArrayList در واقع یک ساختار دینامیک داده می باشد، به این معنا که آیتم ها قابل حذف و اضافه از لیست می باشند. یک array معمولی در جاوا یک ساختار استاتیک داده می باشد، زیرا شما اندازه ی اولیه ی array خود را دارید.

برای تنظیم یک ArrayList، ابتدا باید پوشه ای از java.util library وارد کنید:

1
import java.util.ArrayList;

سپس می توانید یک آبجکت ArrayList جدید ایجاد کنید:

1
ArrayList listTest = new ArrayList( );

توجه کنید که این بار نیازی به کروشه ندارید.

زمانی که آبجکت ArrayList جدید داشته باشید، می توانید با متود add، عناصری به آن اضافه کنید:

1
2
3
4
listTest.add( "first item" );
listTest.add( "second item" );
listTest.add( "third item" );
listTest.add( 7 );

بین پرانتزهای add آنچه را که می خواهید به ArrayList اضافه کنید، قرار دهید. به هرحال فقط می توانید آبجکت ها را اضافه کنید. سه آیتم اولی که به لیست بالا اضافه کرده ایم، آبجکت های String می باشند. چهارمین آیتم یک عدد می باشد. اما این عدد یک آبجکت از نوع صحیح خواهد بود.

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

1
listTest.get( 3 )

این خط آیتم را روی لیست در Index position 3 خواهد گرفت. اعداد ایندکس شمارش را از 0 شروع می کنند، بنابراین این آیتم چهارمین آیتم خواهد بود.

شما می توانید آیتم ها را از یک ArrayList حذف هم بکنید:

1
listTest.remove(2);

یا می توانید از مقدار روی لیست استفاده کنید.

1
listTest.remove( "second item" );

حذف یک آیتم باعث تغییر اندازه ی ArrayList خواهد شد، بنابراین وفتی از عدد شاخص استفاده می کنید، وقتی سعی در به دست آوردن یک آیتم روی لیست دارید، باید مراقب باشید. اگر آیتم شماره ی 2 را حذف کرده ایم، بنابراین لیست فوق فقط حاوی 3 آیتم خواهد بود. سعی در به دست آوردن با عدد شاخص 3، منجر به بروز خطا خواهد شد.

برای وارد شدن به هر آیتم در ArrayList، می توانید چیزی به نام یک Iterator را تنظیم کنید. یک گروه در کتابخانه ی java.util نیز یافت می شود:

1
import java.util.Iterator;

می توانید ArrayList را به یک آبجکت Iterator جدید ضمیمه کنید:

1
Iterator it = listTest.iterator( );

این خط یک آبجکت Iterator جدید تنظیم می کند که می تواند برای وارد شدن به آیتم ها در ArrayList به نام listTest استفاده شود. دلیل استفاده از یک آبجکت Iterator این است که این آبجکت دارای متودهایی به نام next و hasNext می باشد. می توانید از اینها در یک loop استفاده کنید:

1
2
3
while ( it.hasNext( ) ) {
System.out.println( it.next( ) );
}

متود hasNext یک مقدار Boolean را گزارش می دهد. اگر آیتمی در ArrayList وجود نداشته باشد، مقدار false خواهد بود. متود بعدی می تواند برای وارد شدن همه ی آیتم ها در لیست استفاده شود.

برای تست کردن همه ی این تئوری کد زیر را امتحان کنید:

آموزش جاوا

به خطی که همه ی لیست را چاپ می کند، دقت داشته باشید:

1
System.out.println( "Whole list=" + listTest );

این خط به شما یک روش سریع برای مشاهده ی آیتم های روی لیستتان ارائه می دهد. وقتی کد اجرا می شود، پنجره ی Output موارد زیر را نمایش خواهد داد:

first item second item third item 7 Whole list=[first item, third item, 7] Position 1=third item

به طور خلاصه، وفتی از تعداد عناصری که قرار است در لیستی از آیتم ها قرار بگیرند، مطمئن نیستید، از ArrayList استفاده کنید.

 

  بازگشت به فهرست موضوعی: " آموزش گام به گام زبان شرین برنامه نویسی جاوا  "