صفحه اصلی / دوره‌های آموزشی / آموزش جاوا مقدماتی تا متوسط / آرایه های یک بعدی در زبان جاوا

آرایه های یک بعدی در زبان جاوا

آرایه های یک بعدی در زبان جاوا
براي خريد اين درس نياز است وارد سايت شويد. در صورت نداشتن حساب کاربري عضو شويد.
75,600 تومان

جلسات دوره


                         
مهدی عباسی
مدرس:

مهدی عباسی

18 سال سابقه برنامه‌نویسی و تدریس برنامه‌نویسی
کسب مقام‌های اول و دوم کشوری در مسابقات برنامه‌نویسی

مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مشاهده رزومه

آرایه ها 
آرایه ها میتوانند به صورت یک بعدی و یا چند بعدی باشند؛ در این جلسه قصد داریم آرایه های یک بعدی را آموزش بدهیم.


آرایه های یک بعدی
آرایه ها خانه های کنار هم از حافظه هستند که همه آن ها میتوانند یک نوع داده را در خود ذخیره کنند و همه این خانه ها دارای یک نام هستند.


برای تعریف آرایه های یک بعدی ساختار زیر را باید رعایت کنیم:
 

package package1;

public class MainClass {

	public static void main(String[] args) {
		int[]a=new int[10];
	}
}


در این قطعه کد ما گفتیم که یک آرایه از جنس int بساز و نام آن را a قرار بده و تعداد خانه های آن 10 عدد باشد. خانه های این آرایه از شماره 0 تا یک رقم کم تر از آن تعدادی که برای خانه ها در نظر گرفته ایم نام گذاری میشود.
برای مقدار دهی به هر کدام از این خانه ها کافی است به شکل زیر عمل کنیم:

 

package package1;

public class MainClass {

	public static void main(String[] args) {
		int[]a=new int[10];
		
		a[0]=350;
	}
}


در این کد ما گفتیم خانه اول که 0 نام دارد را با مقدار 350 پر کن در پر کردن خانه ها هیچ اجباری وجود ندارد که به ترتیب عمل کنیم.
برای پر کردن این خانه ها حتما لازم نیست برنامه نویس مستقیم مقداری را وارد کند؛ یعنی میتواند یک ورودی از کاربر بگیرد و در آن خانه‌ی مورد نظر قرار بدهد به شکل زیر:

 

package package1;

import java.util.Scanner;

public class MainClass {

	public static void main(String[] args) {
		Scanner reader=new Scanner(System.in);
		int[]a=new int[10];
		
		a[0]=reader.nextInt();
	}
}


همچنین برای این که یک خانه را با یک مقدار تصادفی پر کنیم به شکل زیر عمل میکنیم:
 

package package1;

import java.util.Random;

public class MainClass {

	public static void main(String[] args) {
		int[]a=new int[10];
		Random rand=new Random();
		a[0]=rand.nextInt();
	}
}


برای چاپ آرایه ها نیز به شکل زیر عمل میکنیم:
 

package package1;

import java.util.Random;

public class MainClass {

	public static void main(String[] args) {
		int[]a=new int[10];
		Random rand=new Random();
		a[0]=rand.nextInt();
		
		System.out.println(a[0]);
	}
}


اما اگر ما بخواهیم برای کار کردن با آرایه به ازای تک تک خانه ها کد بنویسیم کار بسیار سخت و طولانی میشود؛ همان طور که در جلسات قبل با حلقه های تکرار آشنا شدیم در اینجا نیز از آن ها استفاده میکنیم، به کد زیر که این کار را انجام میدهد دقت کنید:
 

package package1;

import java.util.Random;

public class MainClass {

	public static void main(String[] args) {
		int[]a=new int[10];
		Random rand=new Random();
		a[0]=rand.nextInt();
		
		for(int i=0;i<10;i++) {
			System.out.println(a[i]);
		}

	}
}


اما آیا لازم است که ما همیشه عدد 10 را ذکر کنیم؟ خیر، برای این که ما همیشه لازم نباشد تعداد خانه های آرایه را وارد کنیم یک ویژگی به نام length وجود دارد که همین کار را برای ما انجام میدهد به شکل زیر:
 

package package1;

import java.util.Random;

public class MainClass {

	public static void main(String[] args) {
		int[]a=new int[10];
		Random rand=new Random();
		a[0]=rand.nextInt();
		
		for(int i=0;i<a.length;i++) {
			System.out.println(a[i]);
		}

	}
}


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

 

package package1;

import java.util.Random;

public class MainClass {

	public static void main(String[] args) {
		Random rand=new Random();
		int a[]=new int[8];
		for(int i=0;i<a.length;i++) {
			a[i]=rand.nextInt(40);
		}
		
		
		for(int item:a) {
			System.out.print(item+"\t");
		}

	}

}


این حلقه تکرار نیز همانند دیگر حلقه های تکرار عمل میکند اما مناسب تر برای کار با آرایه ها و داده هایی که نام مشترک دارند میباشد.
ما میتوانیم در لحظه تعریف آرایه ها آن ها را با مقادیر پیشفرض پر کنیمبه شکل زیر:

 

package package1;

import java.util.Random;

public class MainClass {

	public static void main(String[] args) {
		Random rand=new Random();
		int a[]= {10,36,2564,251,35224,6541,54,255,45};

		for(int item:a) {
			System.out.print(item+"\t");
		}

	}

}


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

 

package package1;

import java.util.Random;

public class MainClass {

	public static void main(String[] args) {
		int []a=ReadArray(10);
		for(int item:a)
		{
			System.out.print(item+"\t");
		}

	}

	static int[]ReadArray(int n)
	{
		Random rand=new Random();
		int[]temp=new int[n];
		for(int i=0;i<n;i++)
		{
			temp[i]=rand.nextInt();
		}
		return temp;
		
	}
}


این کد یک تابع است که خروجی آن یک آرایه میباشد.
اما برای این که چاپ آرایه را هم برای تابع بفرستیم به شکل زیر عمل میکنیم:

 

package package1;

import java.util.Random;

public class MainClass {

	public static void main(String[] args) {
		int []a=ReadArray(10);
		
		PrintArray(a);

	}

	static int[]ReadArray(int n)
	{
		Random rand=new Random();
		int[]temp=new int[n];
		for(int i=0;i<n;i++)
		{
			temp[i]=rand.nextInt(50);
		}
		return temp;
		
	}
	static void PrintArray(int [] temp) {
		for(int item:temp)
		{
			System.out.print(item+"\t");
		}
	}
	
}

 

نظرات دانشجویان

کاربر درسمن
شبنم

عالی بود استاد عزیز

پشتیبانی 1
پشتیبانی 1

ممنون از شما دوست و دانشجو گرامی ما.

نمایش بیشتر

نظر شما در تصمیم دیگران اثرگذار است.

لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.

برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.
ثبت نام

195