دوره‌ها / JAVA / آرایه‌ها (Java Arrays)

آرایه‌ها (Java Arrays)

15 دقیقه Article

آرایه‌ها (Arrays): انبار دسته‌بندی شده داده‌ها 📦🔢

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

۱. تعریف و مقداردهی

برای تعریف آرایه باید از کروشه [] استفاده کنید:

{code_block('String[] cars = {"Volvo", "BMW", "Ford"};\nint[] myNum = {10, 20, 30, 40};')}

۲. دسترسی به عناصر (Indexing) 📍

ایندکس آرایه‌ها در جاوا از صفر شروع می‌شود:

{code_block('System.out.println(cars[0]); // خروجی: Volvo\ncars[0] = "Opel"; // تغییر مقدار اول')}

۳. طول آرایه (Length)

برای اینکه بدانید یک آرایه چند عنصر دارد، از ویژگی .length استفاده کنید:

{code_block('System.out.println(cars.length); // خروجی: 3')}

پیمایش آرایه با حلقه:

{code_block('for (int i = 0; i < cars.length; i++) {\n System.out.println(cars[i]);\n}')}
اندازه ثابت (Fixed Size): در جاوا، وقتی یک آرایه را می‌سازید، اندازه آن ثابت است و نمی‌توانید بعداً به آن خانه اضافه کنید. برای آرایه‌های پویا از ArrayList استفاده می‌شود که در فصل‌های آینده خواهیم دید.
آرایه‌های چندبعدی: شما می‌توانید آرایه‌ای از آرایه‌ها بسازید (مثل یک جدول یا ماتریس): int[][] myNumbers = { {1, 2}, {3, 4} };
متد Arrays.sort(): جاوا یک کلاس کمکی به نام Arrays دارد که با آن می‌توانید آرایه را به راحتی مرتب (Sort) کنید.
<hr style="margin: 50px 0; border: 0; border-top: 1px dashed rgba(255,255,255,0.1);">

بخش تخصصی: کنترل جریان در پروژه‌های صنعتی 🛠️💎

در این بخش، به نکاتی می‌پردازیم که تفاوت یک کدآموز و یک مهندس نرم‌افزار حرفه‌ای را مشخص می‌کنند.

۱. پیچیدگی زمانی (Time Complexity) در حلقه‌ها

هر بار که حلقه‌ای می‌نویسید، باید به تعداد تکرارهای آن فکر کنید. در جاوا، حلقه‌های تودرتو (Nested Loops) می‌توانند به سرعت باعث کُند شدن برنامه شوند (مرتبه O(n²)). همیشه سعی کنید با استفاده از الگوریتم‌های بهتر یا ساختارهایی مثل HashMap، نیاز به حلقه‌های تودرتو را به حداقل برسانید.

۲. بهینه‌سازی شرط‌ها (Early Return)

یکی از اصولی‌ترین روش‌ها برای نوشتن کدهای تمیز، استفاده از Early Return است. به جای نوشتن شرط‌های تو در تو (Nested Ifs)، ابتدا حالت‌های خطا را چک کرده و از متد خارج شوید. این کار باعث می‌شود کد شما "تخت" (Flat) و خواناتر شود.

۳. امنیت و اعتبار‌سنجی (Validation)

کنترل جریان فقط برای منطق برنامه نیست؛ بلکه برای امنیت هم حیاتی است. همیشه ورودی‌های کاربر را قبل از پردازش با استفاده از شرط‌ها اعتبار‌سنجی کنید تا از بروز مشکلاتی مثل NullPointerException یا حملات تزریق کد جلوگیری شود.

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

تمرین‌های عملی

برای تثبیت یادگیری این درس تمرین‌های زیر را حل کنید

دسترسی به میوه‌ها Easy
سوال تمرین

یک آرایه رشته‌ای به نام fruits با مقادیر Apple، Banana و Cherry بسازید. سپس میوه دوم (Banana) را چاپ کنید.

پاسخ تمرین
JAVA
public class Main {
  public static void main(String[] args) {
    String[] fruits = {"Apple", "Banana", "Cherry"};
    System.out.println(fruits[1]);
  }
}

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.