menusearch
javapro.ir
جستجو
۱۳۹۵/۸/۴ سه شنبه
(6)
(0)
♨️ جلسه پانزدهم - آرایه های یک بعدی
♨️ جلسه پانزدهم - آرایه های یک بعدی

آرایه یک بعدی در جاوا!!!!!

 

جاوا یک ساختمان داده برای ذخیره داده ها به نام آرایه فراهم کرده است.


ساختمان داده ها در کل برای ذخیره اطلاعات استفاده می شوند.اطلاعات چیه؟! اطلاعات منظور همون اطلاعات عددی ،کاراکتری، رشته ای ، اعشاری، شی ، کلاس ها و.... به زبون ساده بهتون بگم چیزی شبیه یک متغیر با ظرفیت و کاربرد بیشتر!!! بیشتر از این هم نیاز نیست بدونیم!!
خب آرایه چیه؟ آرایه ها یک مجموعه پی در پی عناصر با نوع یکسان و اندازه ثابت هستند.به زبان ساده تر! آرایه ها مجموعه ای از متغیر ها با نوع یکسان هستند!!


آرایه ها مثل متغیر ها برای ذخیره داده ها استفاده می شوند اما از آنچه که فکر میکنید مفید تر و کاربردی تر هستند!! اگر یک متغیر تنها می تواند یک مقدار بگیرد یک آرایه با اندازه n می تواند n مقدار بگیرد!!


اندازه آرایه چیه؟! به تعداد خانه های متوالی آرایه که داده ها (عناصر آرایه) درونش قرار میگیرد اندازه آرایه می گویند.
ساختار ذخیره داده ها در آرایه بصورت زیر می باشد:

 

 

فرض کنید ما یک آرایه با اندازه 5 داریم:

 

یک آرایه یک بعدی با اندازه 5
43210
محل قرار گیری داده پنجممحل قرار گیری داده چهارممحل قرار گیری داده سوممحل قرار گیری داده دوممحل قرار گیری داده اول

 

💡 همان طور که از جدول بالا مشخص هست مانند رشته ها اولین خانه آرایه با شماره 0 شروع تا ...... آخرین خانه آرایه با شماره (1- اندازه آرایه) پایان می یابد.که در اینجا اندازه آرایه 5 بود و خانه ها از 0 تا 4 شماره گذاری شده اند.

 


💡 به شماره های هر خانه آرایه اندیس های (indexs) آرایه می گویند مثلا اندیس 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 مشاهده می کنید:

 

array در جاوا

 

حال قصد داریم خانه شماره 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 شده) در لینک زیر دریافت کنید.



این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)

آموزش آسان و ساده زبان برنامه نویسی جاوا

لینک دانلود

 

 


نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.

instagram
نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
طراحی سایتطراحی سایتسایت سازسایت سازفروشگاه سازفروشگاه ساز