دوره‌ها / JAVA / خروج و ادامه (Java Break/Continue)

خروج و ادامه (Java Break/Continue)

15 دقیقه Article

خروج و ادامه (Break/Continue): کنترل جریان در لحظه 🛑🏃

گاهی نیاز داریم روندِ نرمال یک حلقه را در وسطِ کار تغییر دهیم. جاوا دو کلمه کلیدی قدرتمند برای این کار در اختیار ما می‌گذارد.

۱. دستور break

این دستور باعث می‌شود کلِ حلقه در همان لحظه متوقف شود و برنامه به خطِ بعد از حلقه برود (پرش به بیرون از حلقه):

{code_block('for (int i = 0; i < 10; i++) {\n if (i == 4) { break; }\n System.out.println(i);\n} // چاپ اعداد 0 تا 3')}

۲. دستور continue

این دستور فقط دور فعلی از حلقه را متوقف می‌کند و بلافاصله به شروع دورِ بعدی می‌رود (پرش به گام بعدی):

{code_block('for (int i = 0; i < 10; i++) {\n if (i == 4) { continue; }\n System.out.println(i);\n} // عدد 4 چاپ نمی‌شود')}

۳. استفاده در حلقه While

شما می‌توانید از break و continue در حلقه‌های while هم استفاده کنید. اما مراقب باشید که در continue، شمارنده را قبل از دستور قرار دهید، وگرنه در یک حلقه بی‌پایان گیر می‌کنید!

تفاوت اصلی:

Break: بازی تمام شد، از زمین خارج شو.

Continue: این مرحله را نادیده بگیر و برو مرحله بعد.

خوانایی کد: استفاده بیش از حد از این دو دستور می‌تواند منطق برنامه را پیچیده و دیباگ کردن را سخت کند. سعی کنید تا حد امکان منطق را با خودِ شرطِ اصلی حلقه کنترل کنید.
Labeled Break: در جاوا می‌توانید برای حلقه‌ها نام (Label) بگذارید و با استفاده از break labelName;، از چندین حلقه تو در تو به صورت همزمان خارج شوید!
<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 یا حملات تزریق کد جلوگیری شود.

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

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

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

توقف در عدد 7 Easy
سوال تمرین

حلقه‌ای بنویسید که از 1 تا 10 بشمارد، اما وقتی به عدد 7 رسید با دستور break متوقف شود. (اعداد 1 تا 6 چاپ شوند).

پاسخ تمرین
JAVA
public class Main {
  public static void main(String[] args) {
    for (int i = 1; i <= 10; i++) {
      if (i == 7) {
        break;
      }
      System.out.println(i);
    }
  }
}

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

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