در زبان برنامه‌نویسی Kotlin، دو دستور break و continue برای کنترل جریان اجرای حلقه‌ها استفاده می‌شوند. هر دو دستور باعث تغییر رفتار حلقه می‌شوند، اما عملکرد متفاوتی دارند. بیایید هرکدام را با مثال توضیح دهیم. 👇


1️⃣ دستور Break – خروج از حلقه ⛔

✅ وقتی درون یک حلقه به break برسیم، اجرای حلقه فوراً متوقف می‌شود و برنامه ادامه اجرای کدهای بعد از حلقه را آغاز می‌کند.

📌 مثال: فرض کن می‌خواهیم اعداد 0 تا 9 را چاپ کنیم، اما اگر مقدار i برابر با 4 شد، حلقه متوقف شود.

var i = 0
while (i < 10) {
    println(i)
    i++
    if (i == 4) {
        break
    }
}

🔹 تحلیل کد:

  • مقدار i از 0 شروع می‌شود و در هر دور یکی اضافه می‌شود.
  • وقتی i به 4 برسد، دستور break اجرا شده و حلقه متوقف می‌شود.
  • خروجی برنامه:
0
1
2
3

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

📌 تمرین:
یک حلقه بنویس که اعداد 1 تا 20 را چاپ کند، اما وقتی به 10 رسید، متوقف شود. 😎


2️⃣ دستور Continue – رد کردن یک تکرار 🔄

✅ دستور continue باعث می‌شود که تنها یک دور از اجرای حلقه رد شود و اجرای حلقه از ابتدای دور بعدی ادامه پیدا کند.

📌 مثال: فرض کن می‌خواهیم اعداد 0 تا 9 را چاپ کنیم، اما وقتی i برابر با 4 شد، آن را نادیده بگیریم و مستقیماً به مقدار بعدی برویم.

var i = 0
while (i < 10) {
    if (i == 4) {
        i++
        continue
    }
    println(i)
    i++
}

🔹 تحلیل کد:

  • مقدار i از 0 شروع شده و در هر دور یکی اضافه می‌شود.
  • وقتی مقدار i 4 باشد، continue اجرا شده و از چاپ عدد 4 صرف‌نظر می‌شود.
  • خروجی برنامه:
0
1
2
3
5
6
7
8
9

💡 کاربرد: زمانی که بخواهی یک مقدار خاص را در حلقه رد کنی و بقیه مقادیر را پردازش کنی.

📌 تمرین:
یک حلقه بنویس که اعداد 1 تا 15 را نمایش دهد، اما اعداد زوج را رد کند! 🤔


مقایسه Break و Continue 🔄 vs ⛔

ویژگیBreakContinue
عملکردبه‌طور کامل حلقه را متوقف می‌کند 🚫فقط یک تکرار از حلقه را رد می‌کند 🔄
مکان اجرای حلقهبعد از حلقه ادامه پیدا می‌کند ⏭️حلقه از ابتدا دوباره اجرا می‌شود 🔄
کاربردوقتی دیگر نیازی به ادامه حلقه نداریموقتی بخواهیم برخی موارد را رد کنیم

جمع‌بندی 🎯

break حلقه را کاملاً متوقف می‌کند.
continue فقط یک مقدار خاص را رد کرده و حلقه را ادامه می‌دهد.
✅ این دو دستور در کنار هم ابزارهای قدرتمندی برای کنترل جریان اجرای حلقه‌ها هستند.

📌 سوال چالشی:
کد زیر چه خروجی‌ای دارد؟ 🤔

for (i in 1..10) {
    if (i % 3 == 0) {
        continue
    }
    println(i)
}