در زبان برنامهنویسی دارت، دو دستور break و continue برای کنترل حلقهها (loops) موجود در برنامه استفاده میشوند.
دستور break به کار میرود تا در صورت برقرار شدن یک شرط خاص، اجرای حلقه را متوقف کند و به خارج از حلقه برود. برای استفاده از break در حلقهها، میتوانید به صورت زیر عمل کنید:
for (int i = 0; i < 10; i++) {
if (i == 5) {
break;
}
print(i);
}
در مثال بالا پس از رسیدن به مقدار 5، دستور break اجرا میشود و حلقه به صورت مستقیم پایان مییابد.
دستور continue نیز به کار میرود تا در صورت برقراری یک شرط خاص، اجرای بخشی از کد را رد کند و به مرحله بعدی برود. برای استفاده از continue در حلقهها، میتوانید به صورت زیر عمل کنید:
for (int i = 0; i < 10; i++) {
if (i == 5) {
continue;
}
print(i);
}
در مثال بالا پس از رسیدن به مقدار 5، دستور continue اجرا میشود و برنامه به شرط اولیه حلقه باز میگردد و مقدار i برابر با 6 میشود. سپس برنامه به صورت معمول ادامه پیدا میکند و اعداد بعدی نیز چاپ میشوند.
استفاده از دستورات break و continue در حلقهها بسته به نیاز برنامه نویسی متفاوت است. بهطور کلی، دستور break بیشتر در مواردی استفاده میشود که بخواهیم در صورت برقراری یک شرط خاص، اجرای حلقه را متوقف کنیم. مثلا در صورتی که یک مقدار خاص را در یک لیست جستجو کردیم و پس از پیدا شدن آن، دیگر نیازی به ادامه پیدا کردن لیست نداریم.
دستور continue نیز در مواردی استفاده میشود که بخواهیم بخشی از کد را رد کنیم و به مرحله بعدی برویم. برای مثال، در صورتی که بخواهیم تعدادی مقدار را در یک لیست جستجو کنیم و در صورت برقراری شرطی خاص، این مقدار را نادیده بگیریم و به مرحله بعدی برویم، از دستور continue استفاده میکنیم.
برای استفاده از دستورات break و continue در حلقهها، باید دقت کنیم که بهجای این دستورات، از یک شرط در داخل حلقه استفاده کنیم. بهعنوان مثال، میتوانیم برای جستجو در یک لیست، از یک حلقه while استفاده کنیم و در داخل حلقه، با بررسی هر مقدار، اگر به مقدار مورد نظر برسیم، با استفاده از break اجرای حلقه را متوقف کنیم. بهجای این روش، میتوانیم در داخل حلقه با استفاده از یک شرط، این کار را انجام دهیم. مثلا بهجای استفاده از دستور break در حلقه while، میتوانیم از یک شرط به صورت زیر استفاده کنیم:
while (condition) {
// do something
if (found) {
break;
}
}
در مثال بالا در صورتی که شرط found برقرار شود، اجرای حلقه متوقف میشود. به همین ترتیب، میتوانیم برای استفاده از دستور continue نیز از یک شرط استفاده کنیم. مثلا:
for (int i = 0; i < n; i++) {
// do something
if (condition) {
continue;
}
// do something else
}
در مثال بالا در صورتی که شرط condition برقرار شود، اجرای بخش دوم حلقه (do something else) رد شده و به مرحله بعدی (i++ و بخش اول حلقه) رفته میشود.
در کل، استفاده از دستورات break و continue باید با دقت و با توجه به نیاز برنامهنویسی انجام شود و باید توجه شود که این دستورات میتوانند شیوه اجرای کد را به شدت تحت تاثیر قرار دهند و در صورت اشتباه استفاده شدن، باعث ایجاد مشکلات جدی در برنامه خواهند شد.
برای نشان دادن عملکرد دستورات break و continue در دارت، میتوانیم به چند مثال ساده مراجعه کنیم:
مثال 1: جستجوی یک مقدار در لیست با استفاده از break در این مثال، یک لیست از اعداد به عنوان ورودی گرفته میشود و یک مقدار به نام target جهت جستجو در لیست تعیین شده است. با استفاده از دستور for، اعضای لیست بررسی شده و در صورت پیدا شدن مقدار target، اجرای حلقه با استفاده از دستور break متوقف میشود:
void search(List<int> list, int target) {
for (int i = 0; i < list.length; i++) {
if (list[i] == target) {
print('Target found at index $i');
break;
}
}
}
مثال 2: پرش از بخشی از حلقه با استفاده از continue در این مثال، با استفاده از دستور for، اعداد از ۱ تا ۱۰ را چاپ میکنیم، با این تفاوت که در صورتی که عدد از ۳ بخشپذیر باشد، اجرای دستورات بعدی حلقه را رد کرده و به مرحله بعدی میرویم:
void printNumbers() {
for (int i = 1; i <= 10; i++) {
if (i % 3 == 0) {
continue;
}
print(i);
}
}
مثال 3: استفاده از دستور break در حلقه while در این مثال، یک حلقه while تعریف شده است که تا زمانی که یک شماره تلفن در لیست شمارههای تلفن وجود نداشته باشد، اجرا میشود. در صورتی که شماره تلفن مورد نظر در لیست وجود داشته باشد، با استفاده از دستور break، اجرای حلقه متوقف میشود:
void searchPhoneNumber(List<String> phoneNumbers, String target) {
int i = 0;
while (i < phoneNumbers.length) {
if (phoneNumbers[i] == target) {
print('Phone number found at index $i');
break;
}
i++;
}
}
با استفاده از دستورات break و continue در دارت میتوان برای حل مسائل مختلف و بهبود عملکرد برنامههای دارت استفاده کرد. بهطور کلی، استفاده از دستور break وقتی مناسب است که بخواهیم اجرای یک حلقه را به صورت ناگهانی و با شرط خاصی متوقف کنیم، مانند پیدا کردن یک مقدار در یک لیست یا فایل. از دیگر موارد استفاده از دستور break، زمانی است که میخواهیم تعدادی شرط را به صورت ترکیبی با هم بررسی کنیم و در صورت برقراری هرکدام از شرطها، اجرای حلقه را متوقف کنیم.
استفاده از دستور continue نیز در دارت مناسب است زمانی که بخواهیم برای یک شرط خاصی، تعدادی کد را رد کنیم و اجرای حلقه را از ادامه آنها جلوگیری کنیم. این دستور معمولا برای جستجوی موارد خاصی در یک لیست یا فایل، بررسی شرایط خاصی برای هرکدام از اعضای لیست و یا انجام یک محاسبه خاصی استفاده میشود.
برای استفاده بهینه از دستورات break و continue باید با دقت و با رعایت قواعد مربوط به آنها کد برنامه نویسی و پیادهسازی کرد.