آشنایی با مفهوم حلقه در زبان برنامه نویسی جاوا

*بانو بهار*

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2016/08/15
ارسالی ها
3,937
امتیاز واکنش
10,965
امتیاز
804
محل سکونت
میان شکوفه‌ها
اگر به حدوداً 40 تا 50 سال پیش بازگردیم، می بینیم که در آن دوران در مدارس روال به این شکل بود که برای تعطیلات نوروز دانش آموزان را مجبور می کردند تا به طور مثال از روی کتاب فارسی خود چند بار بنویسند. در واقع دانش آموزان موظف بودند چیزی تکراری را بارها و بارها بنویسند تا مثلاً تعداد 7 سری از نوشته ها تکمیل شود. پس از آن که 7 سری نوشتن از روی کتاب فارسی تکمیل شد، از مغز دانش آموز دستور می رسد که کار به اتمام رسیده است و بازنویسی می بایست متوقف گردد.

در زبان برنامه نویسی به این کار Loop گفته می شود (لازم به ذکر است به جای آن که معنی فارسی واژه Loop به معنی حلقه را حفظ کنیم، بهتر است بدون توجه به معنی فارسی آن، دستوری را که این کار تحت آن انجام می شود Loop بنامیم.)

به عبارت دیگر Loop دستوری است که منجر می شود چیزی ثابت برای تعداد دفعاتی تعریف شده و یا تا بی نهایت تکرار شود. در زبان برنامه نویسی جاوا سه دستور برای استفاده از Loop ها وجود دارد که عبارتند از for، while، do که می توان هر یک از آنها را به جای دیگری مورد استفاده قرار داد اما نکته ای که می بایست مد نظر قرار داده شود این است که هر کدام از این دستورات می تواند بسته به این که چه انتظاری از Loop داریم کار ما را راحت تر کند.

نحوه به کار گیری for در زبان برنامه نویسی جاوا
حال قصد داریم ببینیم که با دستورات Loop در برنامه چه کارهایی می توان انجام داد. در واقع زمانی که آنتی ویروس نصب شده روی کامپیوتر یا لپ تاپ ما هر زمانی که یک ایمیل جدید می آید آن را چک می کند تا ببیند حاوی ویروس است یا خیر، این کار توسط دستورات Loop انجام می شود. و یا زمانی که اسکرین سیور کاری تکراری را بارها و بارها انجام می دهد (به طور مثال یک توپ مکرراً از سمت چپ به سمت راست می رود و بالعکس) این کار توسط Loop انجام می شود. در حقیقت دستورات Loop در یک برنامه، آن را مجبور می کنند تا برای تعداد دفعاتی که ما برای آن تعریف می کنیم به قسمت خاصی از برنامه بازگردند. برای روشن تر شدن این مطلب می توانیم بازی یویو را در نظر بگیریم که مثلاً ما به عنوان کسی که اختیار این بازی را در دست داریم به یویو دستور می دهیم تا به نقطه پیشین که در آن قرار داشت بارها و بارها بازگردد.

برای آن که به طور عملی با لوپی از جنس for آشنا شویم پروژه ای جدید تحت عنوان ForLoop ایجاد کرده و کلاسی تحت عنوان ForLoop در آن می سازیم:

public class ForLoop {
public static void main(String[] args) {

}
}
برای آن که بتوانیم از Loop یی از جنس for استفاده کنیم، می بایست دستور ()for را به کد خود اضافه کنیم (توجه داشته باشیم که حرف اول for به صورت کوچک نوشته شده است.) در ادامه، داخل پرانتز مقابل for می بایست سه پارامتر یا آرگومان ورودی را بگنجانیم به این شکل که پارامتر اول می بایست نقطه آغازین لوپ ما باشد و پارامتر دوم می بایست نقطه انتهایی Loop باشد. به عبارت دیگر می توان پارامتر دوم را یک شرط در نظر گرفت که مادامی که true است Loop ادامه خواهد یافت و به محض این که false شود، برنامه از Loop خارج خواهد شد و در نهایت در پارامتر سوم می بایست مشخص کنیم که مقدار پارامتر نقطه آغازین در هر بار Loop شدن به چه مقدار افزایش یابد.

در این مثال قصد داریم تا به برنامه خود دستور دهیم که از نقطه آغازین 1 شروع کرده و پس از هر بار لوپ شدن یک واحد به آن اضافه کند و در نهایت در نقطه پایانی 10 توقف نماید. کد تکمیل شده به شکل زیر خواهد بود:

public class ForLoop {
public static void main(String[] args) {
for (int number = 1; number <= 10; number++) {
System.out.println(number);
}
}
}
در کد فوق یک متغیر از جنس int که در برگیرنده اعداد صحیح خواهد بود تحت عنوان number به معنی "عدد" با مقدار اولیه 1 برای نقطه آغازین تعریف کرده ایم سپس یک علامت ; قرار می دهیم و بلافاصله نقطه پایانی را برای Loop خود در نظر می گیریم که عبارت است از number <= 10 به این معنی که این Loop ادامه خواهد یافت تا زمانی که Loop ما به عدد 10 برسد (علت آن که علامت کوچکتر مساوی گذاشته ایم این است که خود عدد 10 را هم شامل شود که در غیر این صورت مادامی که Loop کوچکتر از 10 بود ادامه می یافت. به عبارت دیگر زمانی که Loop به عدد 9 می رسید توقف می کرد زیرا که شرط قرار گرفته در Loop برآورده می شد.) در نهایت مقداری که می خواهیم متغیر ما در هر دفعه Loop شدن افزایش یابد را در نظر می گیریم که در این مثال یک واحد است. حال برای آن که Loop را روی مانیتور به نمایش در آوریم، نام متغیر خود را در دستور ;()System.out.println قرار می دهیم. نکته ای که در مورد کد فوق وجود دارد این است که می توان متغیر را خارج از for نیز تعریف کرد. به عبارت دیگرکد فوق را به شکل زیر نیز می توان بازنویسی نمود:

public class ForLoop {
public static void main(String[] args) {
int number;
for (number = 1; number <= 10; number++) {
System.out.println(number);
}
}
}
در واقع ما یک متغیر از جنس int خارج از Loop ایجاد کرده ایم، حال داخل for مقدار اولیه، مقدار نهایی و همچنین مقدار افزایشی برای آن تعریف می کنیم.
 

برخی موضوعات مشابه

بالا