حلقههای For (Java For Loop)
حلقههای For: تکرار با برنامه دقیق 🔄📊
وقتی میدانید دقیقاً چند بار میخواهید یک کد را اجرا کنید، حلقه for بهترین و منظمترین گزینه است. تمام تنظیمات حلقه در یک خط خلاصه میشود.
ساختار حلقه For
این حلقه از سه بخش اصلی تشکیل شده است: for (statement 1; statement 2; statement 3) { ... }
- بخش ۱: مقداردهی اولیه (فقط یکبار در شروع اجرا میشود).
- بخش ۲: شرط اجرا (قبل از هر دور چک میشود).
- بخش ۳: گام تغییر (بعد از هر دور اجرا میشود).
۱. حلقه For-Each (مخصوص مجموعهها) 📦
این نسخه مخصوص پیمایش راحتتر در آرایهها و لیستهاست. دیگر نیازی به شمارنده و ایندکس ندارید:
{code_block('String[] cars = {"Volvo", "BMW", "Ford"};\nfor (String i : cars) {\n System.out.println(i);\n}')}۲. حلقههای تودرتو (Nested Loops)
شما میتوانید یک حلقه را داخل حلقه دیگری قرار دهید (مثلاً برای چاپ یک جدول ضرب):
{code_block('for (int i = 1; i <= 2; i++) {\n for (int j = 1; j <= 3; j++) {\n System.out.println(i + "," + j);\n }\n}')}مثال حرفهای:
استفاده از گامهای متفاوت؛ مثلاً چاپ فقط اعداد زوج:
{code_block('for (int i = 0; i <= 10; i = i + 2) {\n System.out.println(i);\n}')}بخش تخصصی: کنترل جریان در پروژههای صنعتی 🛠️💎
در این بخش، به نکاتی میپردازیم که تفاوت یک کدآموز و یک مهندس نرمافزار حرفهای را مشخص میکنند.
۱. پیچیدگی زمانی (Time Complexity) در حلقهها
هر بار که حلقهای مینویسید، باید به تعداد تکرارهای آن فکر کنید. در جاوا، حلقههای تودرتو (Nested Loops) میتوانند به سرعت باعث کُند شدن برنامه شوند (مرتبه O(n²)). همیشه سعی کنید با استفاده از الگوریتمهای بهتر یا ساختارهایی مثل HashMap، نیاز به حلقههای تودرتو را به حداقل برسانید.
۲. بهینهسازی شرطها (Early Return)
یکی از اصولیترین روشها برای نوشتن کدهای تمیز، استفاده از Early Return است. به جای نوشتن شرطهای تو در تو (Nested Ifs)، ابتدا حالتهای خطا را چک کرده و از متد خارج شوید. این کار باعث میشود کد شما "تخت" (Flat) و خواناتر شود.
۳. امنیت و اعتبارسنجی (Validation)
کنترل جریان فقط برای منطق برنامه نیست؛ بلکه برای امنیت هم حیاتی است. همیشه ورودیهای کاربر را قبل از پردازش با استفاده از شرطها اعتبارسنجی کنید تا از بروز مشکلاتی مثل NullPointerException یا حملات تزریق کد جلوگیری شود.
تمرینهای عملی
برای تثبیت یادگیری این درس تمرینهای زیر را حل کنید
با استفاده از یک حلقه for، کلمه Star را 4 بار چاپ کنید.
public class Main {
public static void main(String[] args) {
for (int i = 0; i < 4; i++) {
System.out.println("Star");
}
}
}
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.