آرایه ها و حلقه ها
در بخش قبل دیدید که هنگام مقدار دهی به یک آرایه این گونه عمل می کردیم:
aryNums[0] = 10;
اما به این فکر کنید که اگر بخواهیم صد مقدار متفاوت را در آرایه ذخیره کنیم باید چکار کنیم؟ استفاده از راه بالا کار عاقلانه ای نیست. تصور کنید که یک برنامه بخت آزمایی باید شماره های ۱ تا ۴۹ را درون یک آرایه قرار دهد. بر خلاف نوشتن یک لیست بلند از مقدارها و ذخیره آن در آرایه، می توانیم با استفاده از یک حلقه، این کار را به آسانی انجام دهیم:
پس یک آرایه را با ۴۹ فضا در نظر گرفتیم و بعد از آن کد حلقه را نوشتیم. به شرط پایانی حلقه دقت کنید:
i < lottery_numbers.lenght
Lenght یک خاصیت(property) از اشیاء آرایه است که از آن می توان برای به دست آوردن طول آرایه(تعداد مکان ها) استفاده کرد. پس حلقه تا جایی تکرار می شود که مقدار درون متغیر i، از طول آرایه کوچکتر باشد. برای مقدار دهی به هر مکان آرایه، کد زیر را در حلقه نوشته ایم:
lottrey_numbers[i] = i+1;
درون براکتی که روبروی نام آرایه است، متغیر i را قرار داده ایم که در ابتدای حلقه مقدار ۰ را دارد. و در هر دور تکرار حلقه یک واحد به آن افزوده می شود تا زمانی که به عدد ۴۹ برسد که شرط حلقه درست نخواهد بود و از حلقه خارج می شویم. یعنی از مقدار ۰ تا ۴۸ به ترتیب جلو می رود تا ۴۹ خانه آرایه مقدار دهی شوند. در سمت راست تساوی هم در هر بار تکرار حلقه، مقدار i+1 درون آرایه قرار می گیرد. یعنی در اولین بار مقدار ۱+۰ و در آخرین بار هم مقدار ۱+۴۸ که عدد ۴۹ خواهد بود. پس با این کد توانستیم اعداد ۱ تا ۴۹ را در مکان های ۰ تا ۴۸ آرایه قرار دهیم.خط بعدی کد هر آنچه که در هر مرحله درون آرایه قرار می گیرد را چاپ می کند.(اگر بخواهید می توانید اعداد را به صورت به هم ریخته درون آرایه ذخیره کنید و در انتها ۶ عدد اولی که ذخیره شده است را با ۶ عدد هر نفر مقایسه کنید و کسی برنده قرعه کشی است که ۶ عددش با ۶ عدد اول آرایه برابر باشد. به همین سادگی شما یک برنامه بخت آزمایی نوشتید!)
مرتب سازی آرایه ها
متدهای آماده دیگری در جاوا وجود دارند که به شما امکان مرتب سازی(sort) آرایه را می دهند. برای استفاده کردن از متد مرتب سازی آرایه ها، ابتدا باید کتابخانه Arrays را به منابع برنامه خود اضافه کنید. با استفاده از import این کار را انجام می دهیم. برنامه ای که در بخش هفدهم نوشتیم را باز کرده و این کار را انجام دهید:
import java.util.Arrays;
تا به این جای کار، کد را با هم می بینیم:
حال که کتابخانه Arrays را را اضافه کردید، می توانید از متد مرتب سازی استفاده کنید، انجام این کار بسیار ساده است:
Arrays.sort( aryNums );
ابتدا کلمه Arrays را تایپ می کنید و سپس یک نقطه تایپ کرده و همین که نقطه را تایپ کنید، Netbeans به شما یک لیست از اعمالی که می توانید با آرایه ها انجام دهید را به شما نشان می دهد. سپس کلمه sort را تایپ کنید و در مقابل آن پرانتز باز و بسته تایپ کرده و در میان پرانتز، نام آرایه ای که می خواهید مرتب کنید را بنویسید.( توجه کنید که تنها نام آرایه کافیست و نیازی به نوشتن براکت در مقابل نام آرایه ندارید). تمام شد. همین برای مرتب سازی آرایه کافی بود. کد زیر آرایه مرتب شده را چاپ می کند:
حلقه for انتهای کد، مقادیری که در آرایه مرتب شده قرار دارند را به ترتیب چاپ می کند. پنجره خروجی به شکل زیر خواهد بود:
همانطور که می بینید آرایه از اعداد کوچک به بزرگ مرتب شده است.
برای مرتب سازی به صورت نزولی، هم می توانید خودتان عمل مرتب سازی به صورت نزولی را با استفاده از شرط ها به صورت دستی بنویسید و هم می توانید از راه دیگری استفاده کنید. راه دیگر این است که آرایه خود را به اشیاء integer تبدیل کنید و سپس کتابخانه Collections را به منابع برنامه خود اضافه کنید. اگر به مرتب سازی نزولی احتیاج دارید، کد زیر را ببینید(می توانید از این قسمت عبور کنید)
ممکن است کمی سردرگم شده باشید اما اصلا جای نگرانی نیست، در بخش های بعد باز هم به این مباحث خواهیم پرداخت. در بخش بعد به بررسی آرایه ها و رشته ها می پردازیم…