فرق کاربرد های "do while and while loop"
فرق کاربرد های
"do while and while loop"
در جاوا اسکریپت چیه ؟
٨ پاسخ
do while : یک بار کدی ک نویشتین، داخلش ران میشه بدون درنظر گرفتن شرطتون
while : کد موقعی اجرا میشه ک شرطی ک تو پرانتز بعد از while نویشتین true شه
initializer
do {
code to run
final-expression
} while (condition)
//--------------------------------------------------------------------
initializer
while (condition) {
code to run
final-expression
}
سلام وقت شما بخیر. به توضیح کوچولو با یه مثال شاده براتون میزنم امیدوارم بدردتون بخوره
فرقشون اینه که while اول شرط رو چک میکنه، بعد اجرا میشه؛ولی do...while اول یه بار اجرا میشه، بعد شرط رو چک میکنه.
مثلاً فرض کنید یه مامان به بچش میگه اگه اتاقت تمیزه، میتونی شکلات بخوری، این میشه while؛ یعنی اگه اتاقش تمیز نباشه شکلاتی در کار نیست.
اما اگه مامانه اول یه شکلات بده بعد بگه اگه اتاقت تمیز بود یکی دیگه هم میدم، این میشه do...while یعنی حداقل یه بار شکلات رو گرفته بعد شرط رو چک میکنه.
در جاوا اسکریپت، تفاوت اصلی بین do...while و while در نحوه اجرای شرطی و ترتیب بررسی آن است:
1. while loop:
در یک حلقه while، ابتدا شرط بررسی میشود و اگر شرط درست باشد، بدنه حلقه اجرا میشود.
به عبارت دیگر، حلقه ممکن است هیچ وقت اجرا نشود، اگر شرط از ابتدا نادرست باشد.
ساختار:
while (condition) {
// code to be executed
}
مثال:
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
2. do...while loop:
در حلقه do...while، ابتدا بدنه حلقه اجرا میشود و سپس شرط بررسی میشود.
این بدان معناست که بدنه حلقه حداقل یک بار اجرا میشود، حتی اگر شرط از ابتدا نادرست باشد.
ساختار:
do {
// code to be executed
} while (condition);
مثال:
let i = 0;
do {
console.log(i);
i++;
} while (i < 5);
تفاوتها:
شرط بررسی:
در while، شرط قبل از هر بار اجرای بدنه حلقه بررسی میشود.
در do...while، شرط بعد از اجرای بدنه حلقه بررسی میشود.
تعداد اجرا:
در while، ممکن است بدنه حلقه اصلاً اجرا نشود اگر شرط درست نباشد.
در do...while، بدنه حلقه حداقل یک بار اجرا میشود، حتی اگر شرط نادرست باشد.
انتخاب مناسب:
اگر نیاز دارید که بدنه حلقه حداقل یک بار اجرا شود (حتی اگر شرط اولیه درست نباشد)، باید از do...while استفاده کنید.
اگر فقط میخواهید حلقه زمانی اجرا شود که شرط در ابتدا درست باشد، از while استفاده کنید.
در جاوااسکریپت، هر دو حلقهی while و do...while برای تکرار اجرای یک بلوک کد استفاده میشن، اما تفاوت اصلی بینشون در زمان بررسی شرط هست.
1. حلقهی while:
- شرط در ابتدا بررسی میشه: اگر شرط از ابتدا false باشه، بلوک کد اصلاً اجرا نمیشه.
2. حلقهی do...while:
- شرط در انتها بررسی میشه: حتی اگر شرط از ابتدا false باشه، بلوک کد حداقل یک بار اجرا میشه.
تفاوت کلیدی:
- while: شرط قبل از اجرای بلوک کد بررسی میشه. اگر شرط false باشه، کد اجرا نمیشه.
- do...while: شرط بعد از اجرای بلوک کد بررسی میشه. حتی اگر شرط false باشه، کد حداقل یک بار اجرا میشه.
این تفاوت باعث میشه که do...while در مواردی مفید باشه که میخوای مطمئن بشی بلوک کد حداقل یک بار اجرا میشه
در جاوا اسکریپت، هر دو حلقه while و حلقه do...while برای اجرای مجموعهای از دستورات به صورت مکرر استفاده میشوند، اما تفاوت اصلی آنها در نحوه اجرای شرط در اولین تکرار است.
1. حلقه while
شرط قبل از ورود به حلقه بررسی میشود. اگر شرط از ابتدا false باشد، حلقه حتی یک بار هم اجرا نمیشود.
مثال:
let i = 5; while (i < 5) { console.log(i); // این کد هرگز اجرا نمیشود، چون شرط از ابتدا false است. i++; }
🔹 اگر شرط برقرار نباشد، کد داخل حلقه اصلاً اجرا نمیشود.
2. حلقه do...while
حداقل یک بار اجرا میشود، زیرا شرط بعد از اجرای کد بررسی میشود. حتی اگر شرط از ابتدا false باشد، حلقه یک بار اجرا خواهد شد.
مثال:
let i = 5; do { console.log(i); // این کد حداقل یک بار اجرا میشود، حتی اگر شرط غلط باشد. i++; } while (i < 5);
🔹 کد داخل do یک بار اجرا میشود، سپس شرط بررسی میگردد.
مقایسه و انتخاب بین while و do...while
ویژگی | while | do...while |
---|---|---|
بررسی شرط | قبل از اجرای کد | بعد از اجرای کد |
احتمال اجرا شدن حداقل یک بار | خیر | بله |
کاربرد رایج | زمانی که ممکن است حلقه اصلاً اجرا نشود | زمانی که باید حداقل یک بار اجرا شود |
مثال عملی: دریافت ورودی از کاربر
اگر بخواهیم از کاربر یک مقدار معتبر دریافت کنیم، از do...while استفاده میکنیم تا حداقل یک بار ورودی را بخواند:
let number; do { number = prompt("یک عدد وارد کنید (بزرگتر از 10):"); } while (number <= 10); console.log("عدد معتبر وارد شد:", number);
✅ حتی اگر کاربر مقدار نامعتبر وارد کند، کد حداقل یک بار اجرا میشود و مقدار درخواست میگردد.
نتیجهگیری
- اگر نمیدانید که آیا شرط از ابتدا برقرار است یا نه و نمیخواهید حلقه بیهوده اجرا شود، از while استفاده کنید.
- اگر میخواهید حداقل یک بار اجرای حلقه حتماً انجام شود، از do...while استفاده کنید.
🔹 پیشنهاد: همیشه بر اساس نیاز پروژه انتخاب کنید.
while:شرط قبل از اجرای کد بررسی میشود. ممکن است هیچ بار اجرا نشود.
• do while: کد حداقل یک بار اجرا میشود و سپس شرط بررسی میشود.
این تفاوتها باعث میشود که انتخاب بین این دو نوع حلقه بسته به نیاز برنامهنویس و شرایط خاص متفاوت باشد.
در جاوا اسکریپت، هر دو حلقه while و do...while برای اجرای یک بلوک کد به تعداد نامشخصی از دفعات، تا زمانی که یک شرط برقرار باشد، استفاده میشوند. اما تفاوت اصلی آنها در زمان بررسی شرط و حداقل دفعات اجرای حلقه است.
🔹 حلقه while
🔸 ابتدا شرط بررسی میشود، سپس در صورت برقرار بودن، بدنهی حلقه اجرا میشود.
🔸 اگر شرط از ابتدا false باشد، حتی یک بار هم اجرا نخواهد شد.
🔹 ساختار کلی:
while (شرط) { // بلوک کد که تا زمانی که شرط برقرار باشد، اجرا میشود. }
🔹 مثال:
let count = 5; while (count > 0) { console.log("Count is: " + count); count--; }
✅ اگر مقدار count برابر 0 باشد، بدنهی حلقه اجرا نمیشود.
🔹 حلقه do...while
🔸 ابتدا بدنهی حلقه حداقل یک بار اجرا میشود، سپس شرط بررسی میشود.
🔸 حتی اگر شرط از ابتدا false باشد، کد حداقل یک بار اجرا خواهد شد.
🔹 ساختار کلی:
do { // بلوک کد که حداقل یک بار اجرا شده و سپس شرط بررسی میشود. } while (شرط);
🔹 مثال:
let count = 0; do { console.log("Count is: " + count); count++; } while (count > 5);
✅ حتی اگر count > 5 نباشد، باز هم یک بار "Count is: 0" چاپ میشود.
🔥 تفاوتهای کلیدی while و do...while
بررسی شرطحداقل دفعات اجرااستفاده در شرایطی که...
ویژگی | while | do...while |
---|---|---|
قبل از اجرای حلقه | بعد از اجرای حداقل یک بار | |
۰ بار (اگر شرط برقرار نباشد) | حداقل ۱ بار، حتی اگر شرط برقرار نباشد | |
مطمئن نیستیم آیا شرط از ابتدا برقرار است | میخواهیم حداقل یک بار اجرا شود، حتی اگر شرط برقرار نباشد |
📌 چه زمانی از کدام استفاده کنیم؟
✔ از while استفاده کنید وقتی که نمیخواهید حلقه در صورتی که شرط برقرار نباشد، حتی یک بار هم اجرا شود.
✔ از do...while استفاده کنید وقتی که حداقل یک بار اجرای حلقه را نیاز دارید، حتی اگر شرط برقرار نباشد.
✅ جمعبندی نهایی
- while → ابتدا شرط بررسی میشود، اگر برقرار بود، اجرا میشود. (ممکن است اصلاً اجرا نشود)
- do...while → اول اجرا میشود، بعد شرط بررسی میشود. (حداقل یک بار اجرا میشود)
💡 مثال واقعی: فرض کنید از کاربر میخواهید که پسورد خود را وارد کند:
- اگر نمیدانید که کاربر از ابتدا مقدار درستی وارد میکند یا نه → از while استفاده کنید.
- اگر میخواهید که فرم حداقل یک بار نمایش داده شود و سپس بررسی شود → از do...while استفاده کنید.
🚀 سؤال دیگهای داری؟ 😃
در حلقه do while کد داخل براکت لوپ حداقل یکبار را اجرا می شود حتی اگر شرط غلط باشد اما در حلقه while در صورت غلط بودن شرط حلقه یکبار هم اجرا نخواهد شد
به کتاب understanding and using grammer
مراجعه کنند کامل نوشته انجا