آرایه یک بعدی در جاوا!!!!!
جاوا یک ساختمان داده برای ذخیره داده ها به نام آرایه فراهم کرده است.
ساختمان داده ها در کل برای ذخیره اطلاعات استفاده میشوند.اطلاعات چیه؟! اطلاعات منظور همون اطلاعات عددی ،کاراکتری، رشته ای، اعشاری، شی، کلاس ها و.... به زبون ساده بهتون بگم چیزی شبیه یک متغیر با ظرفیت و کاربرد بیشتر!!! بیشتر از این هم نیاز نیست بدونیم!!
خب آرایه چیه؟ آرایه ها یک مجموعه پی در پی عناصر با نوع یکسان و اندازه ثابت هستند.به زبان ساده تر! آرایه ها مجموعه ای از متغیر ها با نوع یکسان هستند!!
آرایه ها مثل متغیر ها برای ذخیره داده ها استفاده میشوند اما از آنچه که فکر میکنید مفید تر و کاربردی تر هستند!! اگر یک متغیر تنها میتواند یک مقدار بگیرد یک آرایه با اندازه n میتواند n مقدار بگیرد!!
اندازه آرایه چیه؟! به تعداد خانه های متوالی آرایه که داده ها (عناصر آرایه) درونش قرار میگیرد اندازه آرایه میگویند.
ساختار ذخیره داده ها در آرایه بصورت زیر است:
فرض کنید ما یک آرایه با اندازه 5 داریم:
4 | 3 | 2 | 1 | 0 |
محل قرار گیری داده پنجم | محل قرار گیری داده چهارم | محل قرار گیری داده سوم | محل قرار گیری داده دوم | محل قرار گیری داده اول |
💡 همان طور که از جدول بالا مشخص هست مانند رشته ها اولین خانه آرایه با شماره 0 شروع تا ...... آخرین خانه آرایه با شماره (1- اندازه آرایه) پایان مییابد.که در اینجا اندازه آرایه 5 بود و خانه ها از 0 تا 4 شماره گذاری شده اند.
💡 به شماره های هر خانه آرایه اندیس های ( index s) آرایه میگویند مثلا اندیس 2 ،مقدار خانه شماره 2 آرایه را بر میگرداند.
💡 هر خانه از آرایه یک متغیر حساب میشود و همه خانه های آرایه از یک نوع یکسان است،بر فرض مثال اگر این آرایه از نوع عدد صحیح باشد تمام عناصر (خانه های آرایه) از نوع عدد صحیح میباشند.
اصلا نگران نباشید آرایه شباهت زیادی با متغیر دارد و مانند متغیر از آن استفاده میکنیم فقط جمع و جورتر و کاربردی تر است!!!! 😊
روش تعریف آرایه:
1) یک آرایه مانند متغیر هنگام تعریف نوع آن باید مشخص شود.
2) در کنار نوع آرایه دو کروشه باز و بسته " [] " می کنیم
3) بعد از تعریف نوع آرایه و قرار دادن دو کروشه باز و بسته، مانند متغیر یک نام برایش انتخاب میکنیم.
4) تا اینجا مراحل 1 تا 3 بصورت زیر است:
Array_Type[] Array_Name |
5) حالا یک مساوی قرار میدهیم:
Array_Type[] Array_Name = |
6) سمت راست مساوی از کلمه کلیدی new استفاده میکنیم:
Array_Type[] Array_Name = new |
7) بعد از کلمه new دوباره نوع آرایه با دو کروشه باز و بسته را پیاده سازی میکنیم، این نوع باید با نوع سمت چپ مساوی یکسان باشد:
Array_Type[] Array_Name = new Array_Type[] |
8) حالا درون کروشه سمت راست اندازه (سایز) آرایه را مشخص میکنیم:
Array_Type[] Array_Name= new Array_Type[Array_size]; |
مثال : در زیر یک آرایه از نوع عدد صحیح با نام number و اندازه 5 تعریف شده است:
int[] number=new int[5]; |
✔ این آرایه دارای 5 خانه که اندیس های خانه (شماره خانه) آن از 0 تا 4 است. و از نوع عدد صحیح است.
✔ این آرایه از نوع عدد صحیح معادل متغیر های زیر است:
int number0; int number1; int number2; int number3; int number4; |
💢 بجای اینکه بیایم 5 متغیراز نوع عدد صحیح تعریف کنیم و خود را به زحمت بیاندازیم در یک خط میایم یک ارایه از نوع عدد صحیح تعریف میکنیم که دارای 5 خانه باشد.
💠 حالا تفاوت روش مقدار دهی و دسرسی به خانه های آرایه و متغیر ها را در مثال بالا بررسی میکنیم:
فرض کنید قصد داریم به متغیر های number0,…….,number4 مقدار های 10 تا 14 را نسبت بدهیم که شکل مقدار دهی آنها بصورت زیر است:
number0=10 number1=11 number2=12 number3=13 number4=14 |
حالا قصد داریم به خانه های آرایه number به سایز 5 همین مقادیر 10 تا 14 را نسبت بدهیم:شکل صدا زدن خانه های آرایه و مقدار دهی به هر خانه به صورت زیر است:
number[0]= 10; number[1]= 11; number[2]= 12; number[3]= 13; number[4]= 14; |
💡 پس روش صدا زدن و استفاده عناصر موجود در آرایه به صورت زیر است:
1. نام آرایه
2. کروشه باز و بسته " [] "
3. قرار دادن اندیس یا شماره خانه مورد نظر
4. حال میتوان مثل متغیر باهاش رفتار کرد یعنی بهشون مقداری نسبت داد یا مقدارش رو دستکاری و چاپ و... کرد.
حال بعد از مقدار دهی آرایه number ساختار آن را بار دیگر بررسی و مشاهده میکنیم:
اکنون قصد داریم خانه شماره 3 آرایه number را به عدد 79 تغییر بدهیم کافیست بصورت زیر عمل کنیم:
number[3]= 79; |
تغییرات اعمال شده را بصورت زیر در ساختار آرایه number مشاهده میکنید:
حال قصد داریم خانه شماره 2 آرایه را چاپ کنیم:
System.out.println(number[2]); |
خروجی:
12 |
✔ همان طور که مشاهده کردید از لحاظ مقدار دهی و شکل استفاده و ..... آرایه ها با متغیر ها فرقی ندارند تنها تفاوت در ساختار آرایه ها است وگرنه آرایه خود مجموعه ای متوالی از متغیر هایی با نوع یکسان است.البته یک تفاوت مهم آرایه با متغیرها دارد که جلوتر به آن میپردازیم.
✔ حالا دیدید آرایه چه کار بزرگی را برامون انجام میده! هم در تعداد خط هایی که کد میزنیم صرفه جویی میشه هم در انتخاب نام، شاید بگید این چکاریه!! اصلا دوست دارم از متغیر معمولی استفاده کنم !!!! اما فرض کنید در یک برنامه اگر نیاز به 1000 متغیر یا بیشتر از نوع عدد صحیح داشتیم اونقت چکار میکردید؟!!! پس حق بدید که آرایه خیلی مهم و کاربردی هست.
✔ حال روش تعریف آرایه را یادگرفتیم، اما این رو بدانید که روش های متفاوتی برای تعریف آرایه وجود دارد که انواع روش های ان بصورت زیر است که هیچ فرقی باهم نمیکنند: من رو آرایه از نوع عدد صحیح مثال زدم شما میتوانید به جای نوع عدد صحیح هر نوعی بکار ببرید.
1)
int[] number=new int[5]; |
2)
int number[]=new int[5]; |
3)
int number[]; number=new int[5]; |
4)
int[] number; number=new int[5]; |
در دوره مبانی برنامه نویسی جاوا به صورت ویدئویی به موضوع آرایه ها در جاواپرداخته ایم.
تفاوت مهم آرایه با متغیر ها:
آرایه یک متغیر ارجاعی (reference variable) است!!!!!!!! خب متغیر ارجاعی یعنی چه؟؟؟؟؟؟؟؟؟!!!!!!!!
با مثال به این موضوع میپردازیم پس با ما همراه باشید:
فرض کنید یک لیستی از نمره های دانشجویان در اختیار استاد درس فلسفه است .این لیست 10 خانه دارد که شامل 10 نمره از دانشجویان است. خب ما در اینجا یک آرایه 10 خانه ای از نوع عدد اعشاری داریم:
💡 در نقشه بالا ما یک آرایه به نام myList که اندازه آن 10 و از نوع عدد اعشاری است، داریم.جدول سمت راست مقادیر عناصر درون آرایه را نشان میدهد. و هر کدام از myList[0] تا ......... myList[9]اشاره به مقدار عنصر مورد نظر در خانه 0ام ..... تا 9 ام (اندیس ام) آرایه را دارد.خب از متغیر ارجاعی صحبت کردیم، myList یعنی نام آرایه نقش متغیر ارجاعی را بازی میکند!!!خب این یعنی چه؟!! یعنی این متغیر دارنده کل مقادیر عناصر آرایه است.متغیر ارجاعی myList همان طور که در نقشه بالا مشاهده میکنید نه به یک خانه بلکه به کل خانه های آرایه اشاره میکند، از نگاه دیگر این متغیر ارجاعی حاوی آدرس کل آرایه در واحد حافظه است.خب کاربردش چیه؟ فرض کنید یک متد به نام arrayShow داریم که به عنوان ورودی یک آرایه میگیرد و عناصر درون آرایه را چاپ میکند،حال چون آرایه یک متغیر ارجاعی هست نیاز نیست تک به تک ،اندیس به اندیس ،خانه به خانه!!! به آرایه دسرسی پیدا کنیم و به عنوان ورودی به متد بدیم که متد برامون این خانه ها رو چاپ کند،تنها کافیست نام متغیر ارجاعی که همان نام آرایه است را به عنوان ورودی به متد بدهیم و متد با توجه به دستورات درون خود آن را چاپ میکند.
💡 بعد از این که روش دسرسی به خانه های آرایه با یک حلقه for را بررسی کردیم یک مثال از متغیر ارجاعی خواهیم زد.
💡 به مقدار موجود در هر یک از خانه های آرایه، عناصر آرایه میگویند.
...ادامه این جلسه آموزشی را میتوانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.
این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)
لینک دانلود
نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690
بستن دیگر باز نشو! |