نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی
  • خانه
  • ویندوز 8
  • نحوه تنظیم یک آرایه دو بعدی در جاوا. آرایه جاوا

نحوه تنظیم یک آرایه دو بعدی در جاوا. آرایه جاوا

یک مجموعه مرتب شده یا لیست شماره گذاری شده از مقادیر است ارتباط دادن که با نام رایج اجرا می شود. اینها می توانند مقادیر اولیه، اشیاء یا حتی آرایه های دیگر باشند، اما همه مقادیر آرایه باید از یک نوع باشند. نوع یک آرایه با نوع مقادیر موجود در آن یکسان است.

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

آرایه ها می توانند یک بعدی یا چند بعدی باشند.

فرآیند ایجاد یک آرایه را می توان به سه مرحله تقسیم کرد:

  • آگهی ( اعلام)
  • ایجاد ( نمونه)
  • مقداردهی اولیه ( مقداردهی اولیه)

اعلام آرایه

در این مرحله فقطمتغیر نوع ارتباط دادن (مرجع) در هر آرایه A حاوی نوع آرایه است. برای این کار نام نوع عناصر آرایه نوشته می شود براکت نشان می دهد که یک مرجع آرایه اعلام شده است ، یک متغیر ساده نیست و نام متغیرهای نوع مرجع ذکر شده است، به عنوان مثال:

شماره ; // اعداد ارجاع به آرایه ای از ints است
رشته خ ; // str ارجاع به آرایه ای از رشته ها است
بایت
دو بایت ; // twoBytes به یک آرایه دو بعدی از بایت ها اشاره دارد
کاراکتر
نامه ها , ارقام ; //حروف و ارقام ارجاع به آرایه های کاراکتر هستند

در اصل، اعلان آرایه ها دقیقاً همان عملیات اعلان هر نوع داده دیگر است، اگرچه نحوی کمی متفاوت دارد، زیرا همه آرایه ها یکسان هستند.

جاوا از دستور دیگری برای اعلان متغیرهای آرایه پشتیبانی می کند که سازگاری با C و C++ را فراهم می کند. طبق این نحو، یک یا چند جفت کروشه از نام متغیر پیروی می کنند، نه نام نوع:

آرایه ای از بایت ها ; // مانند بایت arrayOfBytes
بایت arrayOfArrayOfBytes ; // مانند بایت arrayOfArrayOfBytes
بایت arrayOfArrayOfBytes ; // مانند بایت arrayOfArrayOfBytes

با این حال، این نحو اغلب گیج کننده است و باید از آن اجتناب کرد. در مثال زیر به راحتی می توان منظور را اشتباه گرفت:

نرخ ها , حداکثر نرخ ; // شاید می خواستید دو آرایه را اعلام کنید؟

این نحو توصیه نمی شود، زیرا قبلاً گفته شد که گیج کننده است، علاوه بر این، در قراردادهای طراحی کد جاوا، نحوی که ابتدا داده شد توصیه می شود، یعنی فوراً براکت ها از نوع اعلام شده پیروی می کنند. آرایه.

در این حالت، آرایه ای از مقادیر شناور با نام rates و متغیری از نوع float maxRate اعلام می شود.

یعنی اگر کروشه ها درست بعد از نوع آرایه ای که اعلان می شود قرار بگیرند، تمام متغیرهایی که در این خط اعلان می شوند، ارجاع به آرایه هایی از نوع اعلام شده هستند و اگر براکت ها در سمت راست متغیر قرار دارند، فقط آن متغیر است. ارجاع به آرایه از نوع اعلام شده است.

باید فهمید که این عملیات اعلان آرایه هنوز آرایه ای ایجاد نمی کند، بلکه فقط متغیری را اعلام می کند که مرجع آن است.، که بدون مقداردهی اولیه نمی توان در برنامه از آن استفاده کرد، زیرا کامپایلر خطایی می دهد که متغیر آرایه مقدار دهی اولیه نشده است.

تا زمانی که یک متغیر آرایه اعلام شده تعریف نشده باشد، می تواند حاوی یک مقدار باشد (اگر اختصاص دهید). خالی. و فقط پس از تعریف شامل ارجاع به یک شی خاص خواهد بود.

نمی توان طول یک آرایه را هنگام اعلام یک متغیر آرایه مشخص کرد زیرا اندازه دقیقاً تابعی از شی آرایه است نه ارجاع به آن..

نمونه سازی یک آرایه

در این مرحله تعداد عناصر آرایه که اندازه آن نامیده می شود نشان داده می شود، مکانی برای آرایه در RAM اختصاص می یابد، یک متغیر مرجع توسط اپراتور اختصاص می یابد. = آدرس آرایه تمام این اقدامات توسط اپراتور انجام می شود جدیدبه دنبال نوععناصر آرایه مثلا:

= جدید کاراکتر [ 10 ] ;

اما شایان ذکر است که قبل از آن، متغیر حروف باید به عنوان یک آرایه اعلام شود. برای روشن تر شدن آن، می توان آن را به صورت زیر نشان داد:

نامه ها ; // حروف را به عنوان ارجاع به آرایه ای از کاراکترها اعلام کرد
نامه ها = جدید کاراکتر [ 10 ] ; // آرایه ای از کاراکترها به اندازه 10 عنصر ایجاد کرد

هنگام ایجاد یک آرایه با این نحو، تمام عناصر آرایه به طور خودکار با مقادیر پیش فرض مقداردهی اولیه می شوند. برای مقادیر بولی نادرست، "\u0000" برای مقادیر char، 0 برای مقادیر صحیح، 0.0 برای مقادیر ممیز شناور و تهی برای اشیا یا آرایه ها است.

در جاوا، اندازه یک آرایه ثابت است. آرایه ایجاد شده قابل افزایش یا کاهش نیست. اندازه دلخواه آرایه ایجاد شده توسط یک عدد صحیح غیر منفی داده می شود. اما در هر زمان، به یک متغیر نوع آرایه می توان یک آرایه جدید با اندازه های متفاوت اختصاص داد. یعنی می توان یک ارجاع به آرایه دیگری از همان نوع متغیر اعلام شده اختصاص داد.

شاخص های آرایه همیشه از 0 شروع می شوند.

دو عملیات اول: اعلام و ایجاد یک آرایه را می توان در یک دستور ترکیب کرد. مثلا:

نامه ها = جدید کاراکتر [ 10 ] ;

این عملگر معادل دو عملگر فوق است.

پس از این عملیات، متغیر حروف قبلاً حاوی یک ارجاع به آرایه خواهد بود و اگر بخواهیم مقدار آن را نمایش دهیم، مقداری به دست خواهیم آورد، چیزی شبیه به ;
بین المللی ب = آ;

اما باید در نظر داشت که متغیرهای آو ببه همان آرایه اشاره کنید. در ابتدا، این می تواند گیج کننده باشد، اما اگر به یاد داشته باشید که ما با انواع داده های مرجع سروکار داریم، همه چیز در جای خود قرار می گیرد. اگر این نکته روشن نیست، کمی بعد همه اینها را با مثال هایی تحلیل خواهیم کرد.

= خالی ;

پس از آن، آرایه ای که توسط این مرجع به آن اشاره شده است، در صورتی که هیچ ارجاع دیگری به آن وجود نداشته باشد، از بین می رود..

اندازه یا طول یک آرایه را می توان با استفاده از یک ثابت به دست آورد طول که برای هر آرایه تعریف شده و طول آن را برمی گرداند. ما قبلاً بیش از یک بار از آن در مثال‌هایی استفاده کرده‌ایم که با آرگومان‌های ارسال شده در خط فرمان کار می‌کردیم.

می توانید آرایه هایی با طول صفر (یک آرایه خالی) ایجاد و استفاده کنید. مثلا:

بیت ها = جدید بولی [ 0 ] ;

راه اندازی اولیه چنین آرایه ای غیرممکن است، زیرا به سادگی عناصری ندارد که بتوان آنها را مقداردهی کرد. بلافاصله این سوال پیش می آید که چرا آنها به این آرایه های خالی نیاز دارند؟ اما آنها ضروری و حتی بسیار مفید هستند!

یک آرایه خالی معمولاً در مکان هایی از برنامه استفاده می شود که از قبل مشخص نیست عناصر وجود خواهند داشت یا خیر. اگر عناصر وجود داشته باشد، آرایه غیر خالی برگردانده می شود و اگر عنصری وجود نداشته باشد، یک آرایه خالی برگردانده می شود. یک مثال آرایه‌ای از رشته‌ها است که به متد main() ارسال می‌شود و حاوی آرگومان‌های خط فرمان است و اگر وجود نداشت، یک آرایه خالی برگردانده می‌شود.

آرایه خالی بهتر از خالی، زیرا برای پردازش نیازی به "و" جداگانه ندارد. همین امر برای لیست ها و مجموعه های دیگر نیز صادق است. به همین دلیل است که متدهای Collections.emptyList، valaSet، valaMap وجود دارند.

مقداردهی اولیه آرایه

در این مرحله عناصر آرایه مقادیر اولیه را دریافت می کنند. چندین راه برای مقداردهی اولیه عناصر آرایه وجود دارد:

  1. به هر عنصر آرایه مقدار خاصی اختصاص دهید (این کار را می توان به عنوان مثال در یک حلقه انجام داد، اما قبل از آن، آرایه باید قبلاً اعلام و ایجاد شده باشد)
  2. یک آرایه را با فهرست کردن مقادیر عناصر آن در پرانتزهای فرفری راه‌اندازی کنید (این کار را هم در مرحله اعلام و هم در مرحله ایجاد می‌توان انجام داد، اما نحو متفاوت است)

به یک عنصر آرایه خاص با شاخص آن اشاره دارد، که همانطور که قبلا ذکر شد از صفر شروع می شود.

شاخص ها را می توان با هر عبارت عدد صحیح مشخص کرد، به جز نوع طولانی برای مثال a , a , a[++i] . سیستم زمان اجرا جاوا تضمین می کند که مقادیر این عبارات از طول آرایه تجاوز نکند. اگر خروج همچنان اتفاق بیفتد، مفسر جاوا اجرای برنامه را متوقف می کند و پیامی در مورد اینکه شاخص آرایه فراتر از مرزهای تعریف شده است را روی کنسول نمایش می دهد. ArrayIndexOutOfBoundsException).

مثالی از روش اول اولیه سازی را در نظر بگیرید:

ar = جدید بین المللی [ 2 ] ;
ar[ 0 ] = 1 ;
ar[ 1 ] = 2 ;

راه دوم مقداردهی اولیه را می توان به روش های مختلفی پیاده سازی کرد.

مقداردهی اولیه آرایه را می توان با مرحله ایجاد ترکیب کرد، اما قبل از این عملیات، آرایه باید قبلاً اعلام شده باشد. مثلا:

ar ; // اعلام آرایه
ar = جدید بین المللی { 1 , 2 } ; // ایجاد و مقداردهی اولیه

قبل از ایجاد و مقداردهی اولیه آرایه arقبلا اعلام شده است

همچنین می توانید یک آرایه را در مرحله اعلان آن با دستور زیر مقداردهی اولیه کنید:

ar = { 1 , 2 } ; // اعلان، ایجاد و مقداردهی اولیه آرایه

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

بین المللی ar ; // اعلام آرایه
ar = { 1 , 2 } ; // اشتباه!!! ایجاد آرایه و مقداردهی اولیه

چنین اقدامی کارساز نخواهد بود.

همچنین می توانید در مرحله اعلان و کمی متفاوت مقداردهی اولیه کنید:

ar = جدید بین المللی { 1 , 2 } ; // اعلان، ایجاد و مقداردهی اولیه

اگرچه این نحو طولانی تر است. اگر متوجه شده باشید، پس این نحو نیز ترکیبی از هر سه عملیات است: اعلام، ایجاد و مقداردهی اولیه.

جاوا یک نحو ارائه می دهد که از آرایه های ناشناس پشتیبانی می کند (آنها به متغیرها اختصاص داده نمی شوند و بنابراین نام ندارند). گاهی اوقات یک آرایه فقط باید یک بار استفاده شود (مثلاً به یک متد ارسال شود)، بنابراین نمی‌خواهید زمان را برای اختصاص دادن آن به یک متغیر تلف کنید، بنابراین می‌توانید بلافاصله از نتیجه عبارت استفاده کنید. جدید. مثلا:

. بیرون . println( جدید کاراکتر { "H", "e", "ل", "ل", "o"}) ;

نحوی که برای مقداردهی اولیه آرایه ها با مهاربندهای فرفری انجام می شود، لفظی نامیده می شود، زیرا از آرایه لفظی برای مقداردهی اولیه استفاده می شود.

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

اعداد کامل = { 6 , 28 } ;

در این بایت کد جاوا کامپایل می شود:

اعداد کامل = جدید بین المللی [ 2 ] ;
اعداد کامل[ 0 ] = 6 ;
اعداد کامل[ 1 ] = 28 ;

بنابراین اگر نیاز به قرار دادن داده های زیادی در یک برنامه جاوا دارید، بهتر است آن را مستقیماً در یک آرایه قرار ندهید، زیرا کامپایلر جاوا باید مقدار زیادی بایت کد اولیه آرایه ایجاد کند و سپس مفسر جاوا باید با زحمت این کار را انجام دهد. همه این کدها را اجرا کنید در چنین مواقعی بهتر است داده ها را در یک فایل خارجی ذخیره کرده و در زمان اجرا در برنامه بخوانید.

با این حال، این واقعیت که جاوا یک آرایه را در زمان اجرا مقداردهی اولیه می کند، پیامدهای مهمی دارد. این بدان معناست که عناصر یک آرایه تحت اللفظی عباراتی دلخواه هستند که در زمان اجرا ارزیابی می شوند، نه عبارات ثابت ارزیابی شده توسط کامپایلر.. مثلا:

نکته ها = { circle1.getCenterPoint () ، circle2.getCenterPoint () } ;

حالا بیایید کمی تمرین کنیم.

متد معروف main() از توانایی برگرداندن آرایه ای با طول صفر در صورت عدم وجود آرگومان در خط فرمان استفاده می کند، که به شما امکان می دهد از استفاده از دستور if برای بررسی null خودداری کنید تا از خطا در هنگام اجرای برنامه جلوگیری کنید. .

یعنی می‌توانیم فوراً از آرایه در یک حلقه استفاده کنیم، هرچند قوانین را رعایت کنیم تا از حداکثر شاخص فراتر نرویم.

در ابتدای برنامه، مقدار طول آرایه را چاپ می کنیم و سپس در حلقه اول، تمام مقادیر عناصر آرایه را به صورت متوالی چاپ می کنیم. حلقه دوم هم همین کار را می کند، اما به شکلی منحرف.

مثال دوم سلام برای خشنود کردن مغزتان برای گسترش هوشیاری است، شما حوصله این را نداشتید که چگونه این کار را انجام دهید، اما چگونه نه، خوب، صرفاً برای اهداف آموزشی و آموزشی. شاید در اوقات فراغت خود بفهمید که چرخه دوم چگونه کار می کند.

این برنامه خروجی زیر را تولید می کند:

در حالت اول، هیچ آرگومانی وارد نکردیم، بنابراین یک آرایه با طول صفر دریافت کردیم که در حلقه ها پردازش نشد، زیرا شرایط حلقه ها را برآورده نمی کند.

در حالت دوم، آرگومان هایی را در خط فرمان ارسال کردیم و در نتیجه آرایه در چرخه پردازش شد.

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

کلاس Object را به ارث می برد. آگهی

int ia = int جدید;

آرایه ای به نام ia را تعریف می کند که در ابتدا به مجموعه ای از سه عنصر از نوع int اشاره می کند.

اعلان آرایه ابعاد آن را مشخص نمی کند. تعداد عناصر آرایه زمانی مشخص می شود که با استفاده از عملگر جدید ایجاد شود. طول یک آرایه در زمان ایجاد ثابت است و بعدا نمی توان آن را تغییر داد. با این حال، متغیرنوع آرایه (در مثال ما - ia) در هر زمان می توان یک آرایه جدید با ابعاد متفاوت نسبت داد.

عناصر آرایه با مقادیر اعداد شاخص آنها قابل دسترسی هستند.

اولین عنصر یک آرایه دارای شاخص صفر (0) و آخرین عنصر دارای طول - 1 است. یک عنصر آرایه با تعیین نام آرایه و مقدار شاخص، محصور در پرانتز، [و] قابل دسترسی است. در مثال قبلی اولین عنصر آرایه ia ia و آخرین عنصر ia خواهد بود. هر زمان که یک عنصر آرایه از طریق شاخص دسترسی پیدا می کند، سیستم زمان اجرا جاوا بررسی می کند که آیا مقدار شاخص در محدوده است یا خیر و اگر نتیجه نادرست باشد، یک ArrayIndexOutOfBoundsException می اندازد. 6 عبارت شاخص باید از نوع int باشد - این تنها محدودیت در حداکثر تعداد عناصر آرایه است.

طول یک آرایه به راحتی با استفاده از فیلد طول یک شی آرایه (که به طور ضمنی علامت گذاری عمومی و نهایی است) تعیین می شود. کد زیر یک کد به روز شده از مثال قبلی است که اجرای Loop را فراهم می کند، که تضمین می کند محتویات هر عنصر آرایه ia روی صفحه نمایش داده می شود:

برای (int i = o; i< ia.length; i++)

system.out.println(i + ": " + ia[i]);

معمولاً آرایه ای با طول صفر (یعنی آرایه ای که هیچ عنصری در آن وجود ندارد) نامیده می شود خالی.توجه داشته باشید که مرجع آرایه تهی و مرجع آرایه خالی چیزهای کاملاً متفاوتی هستند. آرایه خالی یک آرایه واقعی است که به سادگی هیچ عنصری ندارد. یک آرایه خالی یک جایگزین مناسب برای null هنگام بازگشت از یک متد است. اگر متد قادر به برگرداندن null باشد، کد برنامه ای که متد در آن فراخوانی شده است باید قبل از ادامه عملیات، مقدار برگشتی را با null مقایسه کند. اگر روش یک آرایه (احتمالا خالی) را برمی گرداند، هیچ بررسی اضافی مورد نیاز نیست - البته، به غیر از موارد مربوط به طول آرایه و به هر حال باید انجام شود.

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

int ia = int جدید;

با این حال، نحو سابق ترجیح داده می شود، زیرا اعلان نوع در این مورد فشرده تر به نظر می رسد.

اصلاح کننده ها در اعلان های آرایه

قوانین استفاده از آرایه های خاص در اعلان ها اصلاح کننده هارایج هستند و فقط به این بستگی دارند که آرایه متعلق به فیلدها باشد یا متغیرهای محلی. یک چیز وجود دارد که مهم است به خاطر بسپارید - اصلاح کننده ها به این آرایه اعمال می شوند، اما نه برای عناصر جداگانه آن. اگر اعلان آرایه حاوی ویژگی نهایی باشد، این تنها به این معنی است که ارجاع به آرایه پس از ایجاد آن قابل تغییر نیست، اما به هیچ وجه امکان تغییر محتویات عناصر جداگانه آرایه را ممنوع نمی کند. این زبان به شما اجازه نمی دهد که هیچ تغییر دهنده ای (مثلاً نهایی یا ualatile) برای عناصر آرایه تعیین کنید.

آرایه های چند بعدی

جاوا از قابلیت اعلان پشتیبانی می کند آرایه های چند بعدی(آرایه های چند بعدی) (یعنی آرایه هایی که عناصر آنها آرایه های دیگر هستند)، کدی که یک ماتریس دو بعدی را اعلام می کند و محتویات عناصر آن را روی صفحه نمایش می دهد ممکن است به شکل زیر باشد:

float mat = شناور جدید;

setupMatrix(mat);

برای (int y = o; y< mat.length; у++) {

برای (int x = o; x< mat[y].length; х++)

system.out.print(mat[y][x] + " ");

system.out.println();

هنگام ایجاد یک آرایه، حداقل اولین بعد، "سمت چپ" آن باید مشخص شود. ابعاد دیگر ممکن است مشخص نباشد - در این مورد، آنها باید بعداً تعیین شوند. مشخص کردن همه ابعاد به طور همزمان در عملگر جدید مختصرترین راه برای ایجاد یک آرایه است که از نیاز به عملگرهای جدید اضافی اجتناب می کند. بیانیه mat آرایه و دستور ایجاد در بالا معادل قطعه کد زیر است:

float mat = شناور جدید;

برای (int y = o; y< mat.length; у++)

mat[y] = شناور جدید;

این شکل از اعلان این مزیت را دارد که به همراه به دست آوردن آرایه هایی با ابعاد یکسان (مثلاً 4×4)، امکان ساخت آرایه هایی از آرایه هایی با ابعاد مختلف لازم برای ذخیره توالی داده های خاص را می دهد.

مقداردهی اولیه آرایه

هنگامی که یک آرایه ایجاد می‌شود، بسته به نوع آرایه، به هر عنصر یک مقدار پیش‌فرض داده می‌شود: صفر (0) برای انواع عددی، '\u0000' _ برای char، false برای بولی، و null برای انواع مرجع. با اعلان یک آرایه از نوع مرجع، در واقع یک آرایه را تعریف می کنیم حاملهاز این نوع قطعه کد زیر را در نظر بگیرید:

Attr attrs = Attr جدید;

برای (int i = o; i< attrs.length; i++)

attrs[i] = جدید Attr(نامها[i]، مقادیر[i]);

بعد از اجرای اولین عبارت حاوی عملگر جدید، متغیر attrs ارجاعی به آرایه ای از 12 متغیر خواهد داشت که به null مقداردهی اولیه می شوند.

یک آرایه را می توان (همزمان با اعلان) با استفاده از یک ساختار در مهاربندهای فرفری، که مقادیر اولیه عناصر آن را فهرست می کند، مقداردهی اولیه کرد:

خطرات رشته = ( "شیرها"، "ببرها"، "خرسها");

قطعه کد زیر همین نتیجه را خواهد داشت:

خطرات رشته = رشته جدید; خطرات = "شیرها";

خطرات = "ببر";

خطرات = «خرس»;

شکل اول، که شامل تعیین لیستی از مقداردهی اولیه در بریس های فرفری است، نیازی به استفاده صریح از اپراتور جدید ندارد - به طور غیرمستقیم توسط سیستم زمان اجرا فراخوانی می شود. طول آرایه در این مورد با تعداد مقادیر اولیه تعیین می شود. همچنین امکان تنظیم صریح اپراتور جدید وجود دارد، اما هنوز باید بعد از آن حذف شود؛ مانند قبل، توسط سیستم اجرا تعیین می شود:

خطرات رشته = رشته جدید ("شیرها"، "ببرها"، "خرس ها");

این شکل از اعلان و مقداردهی اولیه آرایه را می توان در هر جایی از کد استفاده کرد، به عنوان مثال، در یک عبارت فراخوانی متد:

printStringsCnew String("یک"، "دو"، "سه"));

یک آرایه بدون نام که به این شکل ایجاد می شود نامیده می شود ناشناس(ناشناس).

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

int pascalsTriangle = (

{ 1, 4, 6, 4, 1 },

شاخص های آرایه چند بعدی به ترتیب از بیرونی به درونی هستند. بنابراین به عنوان مثال pascalsTriangle = " + arr)؛ )

یک نسخه ساده از حلقه برای خروجی یک آرایه به شرح زیر است:

For(int inn: arr) ( System.out.println("arr[" + inn + "] = " + arr);)

چگونه یک آرایه را در جاوا حذف کنیم؟

شما می توانید یک آرایه در جاوا را مانند این حذف کنید:

چگونه طول یک آرایه را در جاوا بدست آوریم؟

طول یک آرایه را در جاوا به صورت زیر بدست می آوریم:

int arrLength = طول arr;

چگونه اولین عنصر یک آرایه را در جاوا بدست آوریم؟

int firstelem = arr;

چگونه می توان نیمه آخر یک آرایه را در جاوا بدست آورد؟

int lastElem = arr;

چگونه یک آرایه با طول متغیر در جاوا تنظیم کنیم؟

چگونه یک آرایه با طول متغیر در جاوا تنظیم کنیم؟ به هیچ وجه. وقتی یک آرایه را تعریف می کنید، سپس طول آن را تعیین می کنید، بعداً نمی توانید آن را تغییر دهید. در چنین مواردی از مجموعه ها استفاده می شود، به عنوان مثال: Vector، ArrayList و غیره.

بنابراین، طول یک آرایه نمی تواند متغیر باشد. اما هنگام تعریف آرایه می توانید از یک متغیر استفاده کنید. اگر چنین است:

int cd;
int ab = int جدید؛//خطا.

سپس یک خطا دریافت می کنیم، طول یک آرایه نمی تواند متغیر باشد.

شما باید مقدار cd را تنظیم کنید:

int cd = 10;
int ab = int جدید;

در حال حاضر خوب. اگر بعد از تعریف آرایه، متغیر cd تغییر کند، این روی آرایه تاثیری نخواهد داشت، یعنی. طول آن تغییر نخواهد کرد. مثال:

int cd = 10; int ab = int جدید; cd = 12;// این ممکن است arrLength = ab.length; System.out.println("طول آرایه ab = " + arrLength); //خروجی ها: طول آرایه ab = 10 ab=4;// و در اینجا خطا وجود دارد

یک خطا دریافت می کنیم:

استثنا در رشته "اصلی" java.lang.ArrayIndexOutOfBoundsException: 11

حداکثر شاخص آرایه ما 9 است. تغییر مقدار متغیر cd روی آرایه تاثیری ندارد، زیرا از قبل تعریف شده است و طول آن ثابت است.

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

int var = 1;
int elem = arr;
var = 2;
elem = arr;

آرایه کاراکترها در جاوا

نمونه ای از آرایه کاراکتر در جاوا و خروجی آن:

Char charArr = ("S"، "B"، "P"); for(int inn = 0; inn< charArr.length; inn++) { System.out.println("charArr[" + inn + "] = " + charArr); }

چگونه یک آرایه را در جاوا پر کنیم؟

یک آرایه را می توان با استفاده از روش پر کردن استاتیک پر کرد.

آرایه (آرایه انگلیسی)این یک شی است که تعداد ثابتی از مقادیر از همان نوع را ذخیره می کند. به عبارت دیگر، یک آرایه مجموعه ای شماره گذاری شده از متغیرها است. متغیر موجود در آرایه نامیده می شود عنصر آرایه، و موقعیت آن در آرایه با استفاده از فهرست مطالب. به عنوان مثال، ما باید 50 نام مختلف را ذخیره کنیم، می بینید، ایجاد یک متغیر جداگانه برای هر نام ناخوشایند است، بنابراین از یک آرایه استفاده خواهیم کرد. شماره گذاری عناصر آرایه از 0 شروع می شود و طول آرایه در زمان ایجاد آن تنظیم می شود و ثابت می شود.

برای وضوح تصویری که از آن گرفتم آموزش جاوا.

برای ایجاد یک آرایه، باید آن را اعلام کنید، حافظه را برای آن ذخیره کنید و آن را مقداردهی اولیه کنید.

اعلان آرایه در جاوا

هنگام ایجاد یک آرایه در جاوا، اولین قدم این است که آن را اعلام کنید. این را می توان به صورت زیر انجام داد:

Int myFirstArray;

شما همچنین می توانید یک آرایه مانند این را اعلام کنید:

int mySecondArray;

با این حال، این مورد مورد استقبال قرارداد کدگذاری جاوا قرار نمی گیرد، زیرا پرانتزها نشان می دهد که ما با یک آرایه سروکار داریم و زمانی که در کنار نام نوع قرار می گیرند، معنی بیشتری پیدا می کنند.

بر اساس این مثال، ما 2 آرایه را با نام اعلام کرده ایم myFirstArrayو mySecondArray. هر دو آرایه حاوی عناصر نوع خواهند بود بین المللی.

به طور مشابه، شما می توانید یک آرایه از هر نوع را اعلام کنید:

بایت anArrayOfBytes; anArrayOfShorts کوتاه؛ طولانی anArrayOfLongs; float anArrayOfFloats; دو anArrayOfDoubles; بولی anArrayOfBooleans; char anArrayOfChars; رشته anArrayOfStrings; ...

نوع آرایه بر اساس نوع داده می شود، که در آن نوع، نوع داده عناصر موجود در آن است. پرانتزها نشانه خاصی هستند که متغیرها در یک آرایه قرار دارند. نام آرایه می تواند هر چیزی باشد، اما باید مطابقت داشته باشد.

آرایه ها را می توان نه تنها از متغیرهای انواع پایه، بلکه از اشیاء دلخواه نیز ایجاد کرد.

وقتی یک آرایه به زبان جاوا اعلان می شود، اندازه آن مشخص نمی شود و هیچ حافظه ای برای آن ذخیره نمی شود. فقط یک ارجاع به آرایه ایجاد می کند.

رزرو حافظه برای یک آرایه و مقداردهی اولیه آن.

Int myFirstArray; myFirstArray = int جدید;

در مثال ما آرایه ای از 15 عنصر از نوع ایجاد کرده ایم بین المللیو آن را به یک متغیر از قبل اعلام شده اختصاص داد myFirstArray.

همچنین می توانید نام آرایه را اعلام کرده و در همان خط برای آن حافظه ذخیره کنید.

int myArray = int جدید;

هنگام ایجاد یک آرایه با استفاده از کلمه کلیدی جدید، تمام عناصر آرایه به طور خودکار به مقادیر صفر مقداردهی اولیه می شوند. برای اختصاص دادن مقادیر اولیه عناصر یک آرایه، لازم است آن را هدایت کنیم مقداردهی اولیه. مقداردهی اولیه را می توان عنصر به عنصر انجام داد

MyFirstArray = 10; // مقداردهی اولیه عنصر اول myFirstArray = 20; // مقداردهی اولیه عنصر دوم myFirstArray = 30; // و غیره.

و در یک حلقه با استفاده از ایندکس از تمام عناصر آرایه عبور کرده و مقادیری را به آنها اختصاص می دهیم.

برای (int i = 0; i< 15; i++){ myFirstArray[i] = 10; }

همانطور که در مثال‌های قبلی مشاهده می‌کنید، برای ارجاع به یک عنصر آرایه، باید نام آن و سپس در پرانتز، شاخص عنصر را مشخص کنید. یک عنصر آرایه در یک شاخص خاص مانند یک متغیر عمل می کند.

ایجاد و مقداردهی اولیه یک آرایه را با استفاده از مثال زیر در نظر بگیرید. در آن یک آرایه حاوی اعداد 0-9 ایجاد می کنیم و مقادیر را در کنسول چاپ می کنیم.

//ایجاد و مقداردهی اولیه آرایه int numberArray = new int; برای (int i = 0; i< 10; i++){ numberArray[i] = i; } //вывод значений на консоль for(int i = 0; i < 10; i++){ System.out.println((i+1) + "-й элемент массива = " + numberArray[i]); }

نمادگذاری ساده شده

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

int myColor = (255, 255, 0);

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

تعیین اندازه یک آرایه

اندازه یک آرایه همیشه مشخص نیست، بنابراین برای پیدا کردن، از ویژگی length استفاده کنید که طول آرایه را برمی‌گرداند.

MyColor.length;

این کد به ما کمک می کند تا بدانیم طول آرایه myColor 3 است.

مثال: با توجه به 4 عدد، باید حداقل را پیدا کنید

اعداد int = (-9، 6، 0، -59); int min = اعداد; برای (int i = 0; i< numbers.length; i++){ if(min>اعداد[i]) min = اعداد[i]; ) System.out.println(min);

تمرین روی آرایه های تک بعدی در جاوا:

  1. یک آرایه حاوی 10 عدد فرد اول ایجاد کنید. عناصر آرایه را در یک خط و با کاما از هم جدا کرده و روی کنسول چاپ کنید.
  2. با توجه به آرایه ای به ابعاد N، کوچکترین عنصر آرایه را پیدا کنید و در کنسول چاپ کنید (اگر چند عنصر کوچکتر وجود دارد، همه آنها را چاپ کنید).
  3. در آرایه از کار 2. بزرگترین عنصر را پیدا کنید.
  4. بزرگ‌ترین و کوچک‌ترین عناصر یک آرایه را عوض کنید. مثال: یک آرایه (4، -5، 0، 6، 8) داده می شود. پس از تعویض به نظر می رسد (4، 8، 0، 6، -5).
  5. میانگین حسابی همه عناصر آرایه را پیدا کنید.

آخرین به روز رسانی: 09.11.2018

یک آرایه مجموعه ای از مقادیر از یک نوع را نشان می دهد. اعلان یک آرایه شبیه به اعلام یک متغیر معمولی است که یک مقدار واحد را ذخیره می کند و دو راه برای اعلام یک آرایه وجود دارد:

data_type array_name; // یا data_type array_name;

به عنوان مثال، بیایید یک آرایه از اعداد را تعریف کنیم:

int nums; int nums2;

پس از اعلام یک آرایه، می توانیم آن را مقداردهی اولیه کنیم:

int nums; nums = new int; // آرایه 4 عددی

یک آرایه با استفاده از ساختار زیر ایجاد می‌شود: new data_type[number_of_elements]، که new یک کلمه کلیدی است که حافظه را برای تعداد عناصر مشخص شده در براکت‌ها اختصاص می‌دهد. برای مثال nums = new int; - این عبارت آرایه ای از چهار عنصر int ایجاد می کند و هر عنصر یک مقدار پیش فرض خواهد داشت - عدد 0.

شما همچنین می توانید بلافاصله یک آرایه را هنگام اعلان مقداردهی اولیه کنید:

int nums = int جدید; // آرایه 4 عددی int nums2 = new int; // آرایه 5 عددی

با این مقداردهی اولیه، همه عناصر آرایه دارای یک مقدار پیش فرض هستند. برای انواع عددی (شامل نوع char) این عدد 0 است، برای نوع بولی این عدد نادرست است و برای اشیاء دیگر این عدد null است. به عنوان مثال، برای نوع int، مقدار پیش فرض عدد 0 است، بنابراین آرایه nums تعریف شده در بالا از چهار صفر تشکیل خواهد شد.

با این حال، می توان مقادیر خاصی را برای عناصر یک آرایه در هنگام ایجاد آن تنظیم کرد:

// این دو راه معادل int nums = new int ( 1, 2, 3, 5 ); int nums2 = ( 1، 2، 3، 5);

شایان ذکر است که در این مورد، اندازه آرایه در براکت های مربع نشان داده نمی شود، زیرا با تعداد عناصر موجود در براکت های فرفری محاسبه می شود.

پس از ایجاد یک آرایه، می توان به هر یک از عناصر آن توسط شاخص اشاره کرد که پس از نام متغیر آرایه در پرانتز قرار می گیرد:

int nums = int جدید; // مقادیر عناصر آرایه را تنظیم کنید nums = 1; اعداد = 2; اعداد = 4; اعداد = 100; // مقدار عنصر آرایه سوم را بدست آورید System.out.println(nums); // 4

نمایه سازی عناصر آرایه از 0 شروع می شود، بنابراین در این مورد برای اشاره به عنصر چهارم در آرایه، باید از عبارت nums استفاده کنیم.

و از آنجایی که آرایه ما فقط برای 4 عنصر تعریف شده است، نمی توانیم به عنوان مثال به عنصر ششم مراجعه کنیم: nums = 5; . اگر سعی کنیم این کار را انجام دهیم، با خطا مواجه می شویم.

طول آرایه

مهمترین ویژگی آرایه ها ویژگی length است که طول آرایه یعنی تعداد عناصر آن را برمی گرداند:

int nums = (1، 2، 3، 4، 5); int length = nms length; // پنج

ناشناخته بودن آخرین ایندکس غیر معمول نیست و برای بدست آوردن آخرین عنصر یک آرایه می توانیم از این ویژگی استفاده کنیم:

int last = nums;

آرایه های چند بعدی

قبلاً آرایه های یک بعدی را در نظر گرفتیم که می توانند به صورت زنجیره یا رشته ای از مقادیر از همان نوع نمایش داده شوند. اما علاوه بر آرایه های یک بعدی، آرایه های چند بعدی نیز وجود دارد. شناخته شده ترین آرایه چند بعدی جدولی است که یک آرایه دو بعدی را نشان می دهد:

int nums1 = int جدید ( 0، 1، 2، 3، 4، 5)؛ int nums2 = ( ( 0, 1, 2 ), ( 3, 4, 5 ) );

به صورت بصری، هر دو آرایه را می توان به صورت زیر نشان داد:

آرایه یک بعدی nums1
آرایه دو بعدی nums2

از آنجایی که آرایه nums2 دو بعدی است، یک جدول ساده است. همچنین می تواند به این صورت ایجاد شود: int nums2 = new int; . تعداد براکت ها اندازه آرایه را نشان می دهد. و اعداد داخل پرانتز - تعداد سطرها و ستون ها. و همچنین با استفاده از ایندکس ها می توانیم از عناصر آرایه در برنامه استفاده کنیم:

// عنصر ستون اول ردیف دوم را تنظیم کنید nums2=44; System.out.println(nums2);

یک اعلان آرایه سه بعدی ممکن است به شکل زیر باشد:

int nums3 = int جدید;

آرایه دندانه دار

آرایه های چند بعدی را می توان به صورت "آرایه های دندانه دار" نیز نمایش داد. در مثال بالا، آرایه دو بعدی 3 سطر و 3 ستون داشت، بنابراین ما به یک جدول مسطح رسیدیم. اما ما می توانیم به هر عنصر در یک آرایه دو بعدی یک آرایه جداگانه با تعداد عناصر متفاوت اختصاص دهیم:

int nums = int جدید; nums = new int; nums = new int; nums = new int;

برای هر

یک نسخه ویژه از حلقه for برای تکرار روی عناصر در مجموعه ای از عناصر، مانند آرایه ها و مجموعه ها طراحی شده است. شبیه حلقه foreach است که در سایر زبان های برنامه نویسی یافت می شود. اعلامیه رسمی:

برای (نوع داده متغیر_نام: کانتینر)( // اقدامات )

مثلا:

آرایه int = int جدید ( 1, 2, 3, 4, 5 ); برای (int i: آرایه) (System.out.println(i)؛ )

ظرف در این مورد آرایه ای از داده ها از نوع int است. سپس یک متغیر با نوع int اعلام می شود

همین کار را می توان با نسخه معمولی برای انجام داد:

آرایه int = int جدید ( 1, 2, 3, 4, 5 ); برای (int i = 0; i< array.length; i++){ System.out.println(array[i]); }

در عین حال، این نسخه از حلقه for انعطاف پذیرتر از for (int i: array) است. به طور خاص، در این نسخه می توانیم عناصر را تغییر دهیم:

آرایه int = int جدید ( 1, 2, 3, 4, 5 ); برای (int i=0; i

تکرار روی آرایه های چند بعدی در یک حلقه

int nums = int جدید ( (1، 2، 3)، (4، 5، 6)، (7، 8، 9)); برای (int i = 0; i< nums.length; i++){ for(int j=0; j < nums[i].length; j++){ System.out.printf("%d ", nums[i][j]); } System.out.println(); }

ابتدا یک حلقه برای تکرار روی ردیف ها ایجاد می شود و سپس در داخل حلقه اول، یک حلقه داخلی برای تکرار روی ستون های یک ردیف خاص ایجاد می شود. به طور مشابه، می توانید روی آرایه ها و مجموعه های سه بعدی با تعداد ابعاد زیاد تکرار کنید.

برترین مقالات مرتبط