برنامه نویسی
حلقه do-while در جاوا
ساختار کلی
حلقه do-while دستورات را حداقل یک بار قبل از بررسی شرط اجرا می کند.
شکل کلی این است:
do {
instruções;
} while(condição);
تفاوت بین حلقه های for و while
- در for و while، قبل از اجرای حلقه، شرط بررسی می شود.
- در do-while، شرایط پس از اجرای حلقه بررسی میشود و اطمینان حاصل میشود که حداقل یک بار اجرا میشود.
مثال ساده
برنامه ای که تا زمانی که کاربر حرف 'q' را وارد کند حلقه می شود:
// Demonstra o laço do-while.
class DWDemo {
public static void main(String args[]) throws java.io.IOException {
char ch;
do {
System.out.print("Press a key followed by ENTER: ");
ch = (char) System.in.read(); // obtém um char
} while(ch != 'q');
}
}
بازی حدس زدن بهبود یافته است
یک برنامه حدس زدن که تا زمانی که کاربر حرف صحیح را حدس بزند حلقه می شود:
نسخه Guess4.java
توضیح برنامه فال
- این برنامه کاراکترهای کاربر را تا حدس زدن حرف صحیح می خواند.
- دو حلقه do-while وجود دارد:
- حلقه اول تا زمانی ادامه می یابد که کاربر حرف صحیح را حدس بزند.
- حلقه دوم کاراکترهای اضافی را از بافر ورودی حذف می کند تا زمانی که \n (خط جدید) پیدا کند.
مثال اجرا
اجرای معمولی برنامه حدس زدن
I'm thinking of a letter between A and Z.
Can you guess it: A
...Sorry, you're too low
Try again!
I'm thinking of a letter between A and Z.
Can you guess it: Z
...Sorry, you're too high
Try again!
I'm thinking of a letter between A and Z.
Can you guess it: K
** Right **
جزئیات مهم
- ورودی کنسول در یک بافر خط ذخیره می شود، بنابراین با فشار دادن ENTER یک دنباله خط جدید اضافه می شود که باید دور انداخته شود.
- دومین حلقه do-while کاراکترهای اضافی را از بافر حذف می کند تا از خواندن ناخواسته جلوگیری شود.
نتیجه
- حلقه do-while زمانی مفید است که باید اطمینان حاصل کنید که بلوک عبارات حداقل یک بار اجرا شده است.
- این به ویژه برای تعاملات کاربر که در آن اقدامات اولیه قبل از بررسی شرایط لازم است، کاربردی است.