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


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

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


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


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

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");
		}
	}
	
}

 


برچسب ها :

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

نظر بدهید

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

مشخصات دوره


مدرس دوره : مهدی عباسی
تعداد جلسات 26 جلسه
مدت زمان 685 دقیقه
حجم دوره 1/84 گیگابایت
سطح مهارت مقدماتی
وضعیت دوره پایان یافته
: میانگین امتیاز دوره

رایگان
برای دسترسی به این دوره وارد یا عضو شوید.
مهدی عباسی
مهدی عباسی

درباره مدرس :

مدیر‌ عامل‌ شرکت آریا‌ نرم‌‌ افزار دارنده مدرک کارشناسی‌ ارشد مهندسی کامپیوتر 12‌ سال سابقه تدریس دروس کامپیوتر را در دانشگاههای دولتی، آزاد، پیام‌نور ملایر، شهیدشمسی‌پور تهران و تدریس برنامه‌نویسی در انیستیتو ایزایران، مجتمع فنی و موسسه راه‌آینده تهران دارا میباشد و تا به حال راهنمایی انجمنهای علمی دانشگاه و صدها پروژه دانشجویی را برعهده داشته است. تخصص اصلی: با داشتن گواهی‌نامه‌های معتبر تدریس از انیستیتو‌ ایزایران، راه آینده‌تهران و سازمان‌فنی‌حرفه‌ای، تدریس و آموزش‌ دروس کامپیوتر، ‌برنامه‌نویسی کامپیوتر و کلاسهای کنکور کارشناسی و کارشناسی‌ارشد میباشد.همچنین تجربه داوری و نظارت مسابقات برنامه‌نویسی کشوری‌ACM را در سالهای متعدد داشته و تیم مورد رهبری ایشان در 3سال متوالی مقام اول مسابقات کشوری را از آن خود کرده است.ایشان مقالاتی در زمینه شبکه‌های کامپیوتری، تکنیک‌های وزارت دفاع و ... به ثبت رسانده و مشاور و کارشناس در طراحی و برنامه نویسی بیش از 50‌برنامه کاربردی تحت وب و ویندوز و موبایل میباشد. افتخارات دیگر:کسب مقام دوم ایده‌های برتر در مسابقات استارت‌آپ و بکند کشوری را نام برد.