|
دستور for یک یا چند دستور را تا زمانی که شرط مورد نظر نقض نشود، تکرار می کند. این دستور اصولا برای اجرای یک سری دستور به تعداد دفعات مشخص و سپس اجرای ادامه برنامه به کار می رود ولی شما می توانید از for برای ایجاد هر نوع حاقه ای استفاده کنید. ساختار کلی for به صورت زیر است:
Initialization : عبارتی است که شروع حلقه تکرار را مقدار دهی می کند. مثلا اگر شما یک متغیر شمارنده حلقه دارید که تعداد دفعات اجرای دستورات حلقه را در خود ذخیره می کند در این بخش به این متغیر مقدار صفر می دهید. مثلا می نویسیم : int counter = ۰ نکته ای که به آن باید توجه کنید این است که متغیری که در این بخش تعریف می کنید یک متغیر محلی است و فقط در داخل حلقه for تعریف شده می باشد.
Test : عبارت test باید یک متغیر Boolean و یا یک تابعی که Boolean بر می گرداند باشد. این عبارت بعد از هر بار تکرار حلقه چک می شود اگر true بود حلقه یک بار دیگر تکرار می شود و در غیر این صورت حلقه for به پایان رسیده و ادامه برنامه اجرا می شود. برای مثال اگر می خواهید حلقه شما ١٠ بار تکرار شود متغیر شمارنده حلقه که تعداد دفعات اجرای حلقه را در خود ذخیره کرده است در این بخش چک می کنیم : counter<۱۰ ( با توجه به این که از counter=۰ شروع کرده ایم این عبارت برای ١٠ بار تکرار حلقه درست خواهد بود.)
Increment : عبارت و یا تابعی است که که بعد از هر بار تکرار حلقه فراخوانده می شود. برای مثال برای این که بعد از هر بار تکرار حلقه یکی به متغیر شمارنده حلقه اضافه شود در این قسمت عبارت counter++ را می نویسیم.
مثال ١ :فرض کنید می خواهید مقادیر یک آرایه با طول ١٠ را به ترتیب با اعداد حقیقی پر کنید :
در این مثال چون بعد از for یک دستور آمده است نیازی به استفاده از بلوک ( باز و بسته کردن آکولاد {} ) نیست.
حلقه های for را می توان به صورت تو در تو نیز استفاده کرد. در نتیجه حلقه for داخلی به تعداد دفعات حلقه بیرونی اجرا می شود. فقط توجه داشته باشید که متغیر شمارنده حلقه هر یک از این حلقه های for تو در تو باید با دیگری متفاوت باشد.
مثال ٢ :فرض کنید می خواهید یک جدول ضرب ٩*٩ بنویسیم و در کنسول نمایش دهیم :
خروجی برنامه :
While نیز یکی دیگر از دستورات تکرار حلقه ای است. این حلقه تا زمانی که شرط آن نقض نشود تکرار می شود. فرم کلی این دستور به شکل زیر است :
Condition : یک متغیر Boolean و یا تابعی که Boolean بر می گرداند می باشد و در حقیقت همان شرط حلقه است. تا زمانی که این عبارت true باشد حلقه اجرا می شود.
مثال ۳: فرض کنید می خواهیم از کاربر یک کاراکتر بگیرید و روی کنسول نمایش دهید تا زمانی که کاربر q را وارد کند. با وارد کردن q برنامه پایان می یابد.
do while دقیقا مانند while می ماند با این تفاوت که در do while ابتدا یک بار دستورات حلقه را اجرا می کند و در آخر حلقه شرط حلقه را چک می کند بنابراین حتی اگر شرط حلقه از همان ابتدا نیز اشتباه باشد حلقه یک بار اجرا می شود ولی در while شرط حلقه در همان ابتدا چک می شود. فرم کلی do while به شکل زیر است:
دستورهای continue و break در حلقه ها کاربرد دارند و عملکرد آنها به شرح زیر است :
continue : در هر جای حلقه که بیاید آن دور از حلقه ناتمام رها شده و به دور بعدی می رود .یعنی دستورات بعد از continue اجرا نمی شوند.
Break : در هر جای حلقه که بیاید کلا حلقه را بدون در نظر گرفتن شرط آن رها کرده و برنامه را از بعد از حلقه ادامه می دهد.
مثال ۴ :
شرح مثال : در صورتی که کاربر c را وارد کند continue اجرا می شود و بنابراین آن دور از حلقه ادامه پیدا نمی کند و به دور بعد می رود بنابراین c در کنسول نوشته نمی شود . در صورتی که b توسط کاربر وارد شود، از حلقه while به طور کامل خارج شده و برنامه پایان می پذیرد. |