حلقه While
حلقه While چیست؟
حلقه While (یا While Loop) در اغلب زبان های برنامه نویسی امروزی به عنوان یکی از پرکاربردترین حلقه های مبتنی بر شرط شناخته میشود و برای اجرای دنبالهای از دستورات به صورت تکراری تا زمانی که یک شرط مشخص صحیح باشد به کار میرود.
در حلقه های While شرط یا عبارتی که میبایست ارزیابی شود در ابتدای لوپ قرار میگیرد؛ به این ترتیب اگر شرط لوپ به هنگام اولین بررسی، صحیح نباشد دستورات بدنه حتی یک بار هم اجرا نمیشوند. درست برخلاف حلقه های Do While و Do Until که در آنها برنامه نویس میتواند شرط را در انتهای لوپ قرار دهد که در چنین حالتی حداقل یک بار دستورات بدنه اجرا خواهند شد.
در تصویر زیر، یا کمک یک مثال ساده نحوه استفاده از حلقه While در زبان برنامه نویسی جاوا نمایش داده شده است. در این مثال، شرط x <= 5 به عنوان شرط لوپ به کار رفته است و بدنه آن شامل دو دستور است. در آغاز حلقه از آنجایی که مقدار متغیر x برابر با 1 است شرط حلقه صحیح بوده و دستورات بدنه برای اولین بار اجرا میشود. به این ترتیب مقدار کنونی متغیر x (یعنی 1) در خروجی نوشته میشود و یک واحد به آن افزوده میشود (x = 2). مجددا شرط Loop بررسی میشود و از آنجایی که همچنان x <= 5 برقرار است برای بار دوم دستورات آن اجرا میشوند. به همین ترتیب در انتهای تکرار پنجم، مقدار متغیر x برابر 6 میشود و با توجه به اینکه شرط به هنگام بررسی، نادرست خواهد بود درنتیجه تکرار ششم اجرا نخواهد شد و خروجی این قطعه برنامه اعداد 1 تا 5 خواهد بود.
برخلاف مثال فوق لازم است بدانید همیشه تعداد تکرار دستورات یک حلقه While از پیش مشخص نمیباشد. به عنوان مثالی ساده ممکن است در برنامه ای از کاربر خواسته شود عددی زوج را وارد کند. در چنین حالتی اگر از While Loop استفاده شود باید تا زمانی که عدد دریافتی از کاربر فرد است مجددا از او خواسته شود عددی زوج را وارد کند. بنابراین شرط لوپ، فرد بودن عدد دریافتی از کاربر است و در عین حال مشخص نیست چند مرتبه کاربر، عددی نادرست (عدد فرد) وارد خواهد کرد.
در نتیجه به طور معمول از While Loop ها در مواقعی استفاده میشود که قرار است دستوراتی تا رسیدن به یک هدف مشخص (رسیدن به حالتی که شرط برقرار نباشد) تکرار شوند و در مواردی که میخواهیم دستورات به تعداد مشخص اجرا شوند غالبا از حلقههای For استفاده میشود.
توجه داشته باشید همانند دو نمونهای که در تصویر زیر مشاهده میکنید میتوان شرط (یا دستورات بدنه) را به شکلی تعیین نمود که برای همیشه، شرط حلقه برقرار باقی بماند که در این حالت، یک حلقه بی نهایت (Infinite Loop) تشکیل میشود.
پیوندهای پیشنهادی تک دیک
ممنون از مقاله خوبتون
فوری
سلام وقتتون بخیر من چطور میتونم while زیر رو به for تبدیل کنم؟
;Int n=14000,k,i=0
((k=n%10)!&&While ((n=n/10)
;i++
ممنون میشم جوابمو بدید خیلی فوریه .
خیلی خیلی ممنون عالی بود تونستم به خوبی یاد بگیرم❤❤❤❤❤