Farzad Afi Logo

FarzadAfi

آموزش تخصصی برنامه نویسی

Loop in java | حلقه ها در جاوا

📖توضیحات درس

🎥 این ویدیو قسمت هشتم از بوت‌کمپ رایگان جاوا است. 🔁 حلقه‌ها در جاوا در این جلسه به بررسی کامل ساختارهای تکرار در جاوا می‌پردازیم؛ از `for` و `while` گرفته تا `do-while`، حلقه‌های نامتناهی، تو در تو و استفاده از دستورهای `continue` و `break`. همچنین با تمرین‌های متنوع برای هر نوع حلقه، این مفاهیم را به‌صورت عملی تمرین خواهیم کرد. 🎙️ پیشاپیش بابت تغییرات در صدای میکروفون در طول ویدیو عذرخواهی می‌کنم. این مشکل در ویدیوهای بعدی برطرف خواهد شد. 📂 لینک سورس کد این جلسه در گیت هاب: https://github.com/farzadafi/ProgrammingByFarzadAfi/tree/master/src/e_loop 📌 گروه پرسش و پاسخ تلگرام: programmingByFarzadAfi@ 📌 گروه پرسش و پاسخ بله: @programming_by_farzadafi هر سوالی داشتید، می‌توانید در این گروه ها بپرسید تا من یا مربی‌های حاضر راهنمایی‌تان کنیم. 🎯 بوت‌کمپ رایگان جاوا – آموزش تمرین‌محور برای یادگیری عمیق و ورود به بازار کار.
01:48:48🎯رایگان

📄جزوه

مفاهیم کلیدی

  • Loop

    ویژگی‌ای در زبان‌های برنامه‌نویسی که اجازه می‌دهد مجموعه‌ای از دستورالعمل‌ها یا فانکشن‌ها را تا زمانی که یک شرط خاص true باشد، به‌طور مکرر اجرا کنیم. این کار باعث جلوگیری از تکرار کد و مدیریت بهتر حافظه می‌شود.

  • For Loop

    ساختاری برای تکرار که معمولاً زمانی استفاده می‌شود تعداد دفعات تکرار از قبل مشخص باشد. این حلقه شامل سه بخش اصلی است: مقداردهی اولیه (initialization)، شرط تکرار (condition) و نحوه گام‌برداری (increment/decrement).

  • While Loop

    این حلقه تا زمانی که شرط داخل پرانتز آن true بماند، به اجرای کد ادامه می‌دهد. شرط در این حلقه قبل از اجرای بدنه بررسی می‌شود؛ بنابراین اگر شرط از ابتدا false باشد، بدنه حلقه هرگز اجرا نخواهد شد.

  • Do-While Loop

    مشابه حلقه While است، با این تفاوت که شرط بعد از اجرای بدنه بررسی می‌شود. یعنی محتوای داخل حلقه Do-While همواره حداقل یک بار اجرا می‌شود، حتی اگر شرط false باشد.

  • Infinite Loop

    حلقه‌ای که هرگز پایان نمی‌یابد. این وضعیت زمانی رخ می‌دهد که شرط خروج از حلقه هرگز false نشود؛ مثلاً فراموش کردن افزایش مقدار شمارنده در حلقه While.

  • Nested Loop

    قرار دادن یک حلقه در داخل حلقه‌ای دیگر. این ساختار برای کار با داده‌های چندبعدی (مثل ماتریس‌ها یا جدول ضرب) و ترسیم اشکال هندسی کاربرد دارد.

  • Break

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

  • Continue

    دستوری برای رد کردن (skip) تکرار فعلی. با اجرای continue، کدهای باقی‌مانده در همان دور از حلقه اجرا نمی‌شوند و برنامه مستقیماً به ابتدای حلقه برای بررسی تکرار بعدی می‌رود.

نکات مهم مصاحبه‌ای

  • تفاوت اصلی بین While و Do-While در چیست؟

    در حلقه While شرط در ابتدا بررسی می‌شود و ممکن است بدنه اصلاً اجرا نشود. در Do-While ابتدا بدنه یک بار اجرا می‌شود و سپس شرط بررسی می‌گردد؛ بنابراین کد حداقل یک بار اجرا خواهد شد.

  • چه زمانی از Break و چه زمانی از Continue استفاده می‌کنیم؟

    وقتی می‌خواهیم به محض یافتن نتیجهٔ خاص یا وقوع خطا، کلاً از حلقه خارج شویم، از break استفاده می‌کنیم. اگر فقط یک آیتم را نادیده بگیریم و بررسی بقیه را ادامه دهیم، از continue استفاده می‌کنیم.

  • چگونه می‌توان یک حلقه بی‌نهایت (Infinite Loop) ایجاد کرد؟

    ساده‌ترین راه در جاوا، استفاده از while(true) یا ساختار for(;;) است؛ در هر دو حالت شرط خروج تعریف نشده باشد.

  • Nested Loop چگونه کار می‌کند؟

    به ازای هر یک بار اجرای حلقه بیرونی (Outer Loop)، حلقه داخلی (Inner Loop) یک بار به‌طور کامل — از ابتدا تا انتها — اجرا می‌شود.

مثال یا سناریوی کاربردی

سناریو: محاسبه مجموع اعداد فرد ورودی توسط کاربر

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

  1. تعریف یک شیء Scanner برای دریافت ورودی.
  2. دریافت تعداد ورودی‌ها (مثلاً n).
  3. استفاده از حلقه for برای تکرار n بار.
  4. در هر تکرار، عدد جدید را دریافت کرده و با عملگر باقیمانده (%) بررسی می‌کنیم عدد فرد است یا نه (number % 2 != 0).
  5. اگر عدد فرد بود، آن را به متغیر result اضافه می‌کنیم.
int result = 0;
for (int i = 0; i < n; i++) {
    int number = scanner.nextInt();
    if (number % 2 != 0) {
        result += number;
    }
}
System.out.println("Sum of odd numbers: " + result);

بیشتر بدانید

  • IDE Tip

    در محیط IntelliJ IDEA می‌توانید میان‌بر fori را بزنید و سپس کلید Tab را فشار دهید تا ساختار استاندارد حلقه for به‌سرعت ایجاد شود.

  • Live Template

    در تنظیمات IntelliJ، در بخش Live Templates، می‌توانید الگوهای دلخواه تعریف کنید (مثلاً برای ایجاد سریع Scanner) تا با نوشتن یک کلمه کوتاه، کدهای پرتکرار به‌صورت خودکار درج شوند.