آرایه ها در جاوا
در این بخش به آرایه ها(Arrays) در جاوا می پردازیم. آرایه را معرفی و نحوه استفاده از آن را بیان می کنیم.
آرایه چیست؟
در بخش های قبل با متغیر ها کار کردیم و دیدیم که در یک متغیر، یک مقدار می توان ذخیره کرد. برای مثال متغیر integer که تعریف می کردیم، یک عدد را می توانستیم درون آن نگه داریم. و متغیر رشته هم که تعریف می کردیم، درون آن می توانستیم یک متن را ذخیره کنیم. استفاده از آرایه راهی است که بتوان در یک زمان، بیش از یک مقدار را نگه داری کرد. اگر به آرایه مانند یک جدول نگاه کنیم، یک آرایه می تواند مانند جدول، چند ستون و چند سطر داشته باشد، به شکل زیر نگاه کنید، در این شکل آرایه ما یک بعدی است یعنی دارای یک ستون مقدار است:
در آرایه هر مقداری یک شماره مخصوص به خود را دارد که مکان آن مقدار را مشخص می کند. این شماره ها از ۰ شروع می شوند و به ترتیب به سمت اعداد بالاتر افزایش می یابند. هر مکانی از آرایه می تواند یک مقدار را نگه داری کند. در شکل بالا مکان ۰ آرایه مقدار ۱۰ را نگه داری می کند، مکان شماره ۱، مقدار ۱۴ را نگه داری می کند و به همین ترتیب تا مکان شماره ۵ که ششمین مکان آرایه است، مقدار شماره ۱۸ را نگه داری می کند.
برای ایجاد یک آرایه از اعداد مانند تصویر بالا ابتدا باید به جاوا اعلام کنید که چه نوع مقادیری می خواهید، درون آرایه تان ذخیره کنید.(integer یا string یا boolean و …) و سپس باید اعلام کنید که چه تعداد مکان برای آرایه در نظر گرفته اید:
int[] aryNums;
تنها تفاوت بین ایجاد یک متغیر integer معمولی با یک آرایه همان جفت براکتی است که بعد از واژه int نوشته ایم. آن دو براکت کافیست که جاوا متوجه شود که شما قصد ایجاد یک آرایه را دارید. نام آرایه در بالا aryNums است، درست مثل متغیر های معمولی که نام دلخواه برایشان انتخاب می کردیم. در کد بالا ما به جاوا اعلام کردیم که قصد ایجاد یک آرایه را داریم، اما تعداد مکان های آرایه را مشخص نکردیم. برای انجام این کار باید یک شیئ جدید از آرایه ایجاد کنیم:
aryNums = new int[6];
با نام آرایه شروع کردیم و سپس علامت تساوی را نوشتیم. بعد از علامت تساوی ازیکی از کلیدواژه های جاوا به نام new استفاده کردیم و بعد از آن دوباره نوع مقداری که درون آرایه ذخیره می شود را مشخص کردیم(int). بعد از نوع داده یک جفت براکت نوشتیم و درون این جفت براکت، اندازه آرایه را نوشتیم که تعداد مکان های آرایه را مشخص می کند. می توان این دو مرحله را تنها در یک خط انجام داد:
int[] aryNums = new int[6];
پس یک آرایه با نوع داده integer و دارای شش مکان ذخیره داده ایجاد کردیم. بعد از این که این خط اجرا شود مقادیر پیشفرض را در درون آرایه ذخیره می کند. چون ما یک آرایه با مقادیر integer ایجاد کردیم جاوا در شش مکان ایجاد شده در آرایه عدد ۰ را به صورت پیشفرض ذخیره می کند. حال برای این که خودمان در یک مکان از آرایه مقداری را قرار دهیم، این گونه عمل می کنیم:
aryNums[0] = 10;
با کد بالا مقدار ۱۰ درون مکان ۰ آرایه aryNums قرار خواهد گرفت. دوباره از براکت ها استفاده شده است و عدد بین آن ها مکان مورد نظر را اعلام می کند. اگر برای مثال این بار می خواهید عدد ۱۴ را درون خانه شماره ۱ آرایه قرار دهید، کد مورد نظر به صورت زیر خواهد بود:
aryNums[1] = 14;
این بار عدد ۳۶ را درون خانه شماره ۲ قرار می دهیم:
aryNums[2] = 36;
این نکته را فراموش نکنید که چون شماره خانه های آرایه از ۰ شروع می شود پس مثلا خانه ای از آرایه با شماره ۴، خانه پنجم آرایه است.
اگر از قبل می دانید که به ترتیب در خانه های آرایه چه مقادیری قرار میگیرد، می توانید مانند کد زیر آرایه را بسازید:
int[] aryNums = {1,3,7,5};
در کد بالا یک آرایه با ۴ مکان ایجاد شده است و چون از ابتدا مقادیر چهار مکان را می دانستیم دیگر از کلیدواژه new استفاده نکردیم و سمت راست تساوی به صورت مستقیم و به ترتیب مقادیر را نوشته ایم. در آرایه بالا در مکان ۰، مقدار ۱ و در مکان ۱،مقدار ۳ و در مکان ۲، مقدار ۷ و در مکان ۳، مقدار ۵ ذخیره شده است. پس آرایه ای تعریف کردیم با ۴ مکان و مقادیر آن ها را هم نوشتیم. این سبک تعریف آرایه را فقط می توان برای آرایه های نوع int، string و char استفاده کرد. کد زیر آرایه ای از رشته را ایجاد و مقدار دهی می کند و نوشتن آن مشکلی ندارد:
String[] aryStrings = {"Spring","Summer","Autumn","Winter"};
اما نمی توان کد زیر را نوشت:
boolean[] aryBools = {false,true,true,false};
برای ایجاد ایجاد آرایه boolean همچنان به کلیدواژه new نیاز داریم:
boolean[] aryBools = new boolean[] {false,true,true,false};
برای دسترسی به یک مقدار که در مکانی از آرایه ذخیره شده است باید نام آرایه را بنویسید و سپس در ادامه آن مکان مورد نظر را درون جفت براکت بنویسید. مانند زیر:
System.out.println(aryNums[2]);
کد بالا مقداری که در مکان شماره ۲ آرایه aryNums قرار دارد را چاپ خواهد کرد. حال کمی تمرین میکنیم.
یک پروژه جدید ایجاد کنید و نامی دلخواه برای آن بگذارید. فراموش نکنید که نام کلاس باید با نام پروژه متفاوت باشد. کد نوشته شده در متد main تصویر زیر را در متد main پروژه خود بنویسید:
وقتی که برنامه را اجرا کنید، در پنجره خروجی اینگونه خواهد بود:
در خطی که مقدار چاپ می شود، مکان شماره ۲ را با ۵ عوض کنید. این بار در خروجی باید عدد ۱۸ چاپ شود.
در بخش بعد استفاده از آرایه ها با حلقه ها را بررسی می کنیم…