چرخه ها چیست
برنامه ای که به زبان جاوا نوشته می شود از یک کد خاص تشکیل شده است. معمولاً به صورت متوالی انجام می شود: خط به خط، از بالا به پایین. اما ساختارهای کدی نیز وجود دارند که اجرای خطی برنامه را تغییر می دهند. به آنها ساختارهای کنترلی می گویند . با تشکر از آنها، کد را می توان به صورت انتخابی اجرا کرد. به عنوان مثال، یک بلوک کد را به جای دیگری اجرا کنید. حلقه ها نوعی ساختار کنترلی برای سازماندهی اجرای مکرر یک قطعه کد هستند. کد داخل چنین ساختار کنترلی به صورت چرخه ای اجرا می شود. هر اجرای کد یک تکرار از حلقه است . تعداد تکرارها توسط شرط حلقه کنترل می شود. کدی که در داخل یک حلقه اجرا می شود، بدنه حلقه نامیده می شود . انواع زیر از چرخه ها شناخته شده است :-
حلقه های پیش شرط: شرط اجرا قبل از اولین تکرار تعیین می شود.
-
حلقه های با شرط post: شرط اجرا پس از اولین تکرار مشخص می شود (بنابراین همیشه حداقل یک بار اجرا می شوند). زمانی مفید است که باید یک عمل خاص را انجام دهید تا زمانی که شرایط خاصی محقق شود: به عنوان مثال، خواندن ورودی کاربر تا زمانی که کلمه "توقف" را وارد کند.
-
حلقه های شمارنده: تعداد تکرارها توسط شمارنده شبیه سازی شده تعیین می شود. شرط حلقه مقادیر اولیه و نهایی آن را مشخص می کند. با هر تکرار شمارنده افزایش می یابد. ما می توانیم تعداد تکرارها را از قبل تعیین کنیم.
این حلقه ها زمانی مفید هستند که شما نیاز به تکرار همه عناصر یک مجموعه دارید. حلقه های دارای شمارنده "حلقه برای ..." نامیده می شوند. "برای هر عنصر از یک مجموعه خاص، اقدامات زیر را انجام دهید."
مواردی وجود دارد که اجرای یک حلقه می تواند قبل از رسیدن به شرایط آن قطع شود. به عنوان مثال، اگر مجموعه ای از 100 عدد داشته باشیم و باید بفهمیم که آیا این مجموعه دارای اعداد منفی است یا خیر. ما می توانیم با استفاده از حلقه for شروع به حلقه زدن در تمام اعداد کنیم. اما وقتی اولین عدد منفی را پیدا کردیم، لازم نیست اعداد باقیمانده را مرور کنیم. در صورتی که اجرای حلقه منطقی نباشد می توانیم اجرای حلقه را قطع کنیم. چنین موقعیت هایی را قطع چرخه می نامند.
-
حلقه های بدون قید و شرط حلقه هایی هستند که بی انتها اجرا می شوند. به عنوان مثال: "در حالی که 1=1، چاپ "1=1" است. چنین برنامه ای تا زمانی که به صورت دستی قطع شود اجرا می شود.
این حلقه ها همچنین زمانی مفید هستند که همراه با قطع کردن حلقه از داخل استفاده شوند. با دقت از آنها استفاده کنید تا باعث یخ زدن برنامه نشوند.
می توانید در سطح 4 دوره JavaRush در مورد حلقه ها در زبان برنامه نویسی جاوا اطلاعات بیشتری کسب کنید. به خصوص با حلقه های while و for.
حلقه ها در جاوا
حالا بیایید به حلقه ها در جاوا نگاه کنیم. چندین نوع از آنها در این زبان وجود دارد:while
- حلقه با پیش شرط؛do..while
- یک چرخه با یک پس شرط؛for
- حلقه با شمارنده (حلقه برای)؛for each..
- یک حلقه "برای هر..." - یک نوع for برای تکرار از طریق مجموعه ای از عناصر.
while
، do.. while
و for
می تواند به عنوان حلقه های بدون قید و شرط استفاده شود. می توانید سینتکس حلقه ها را در زبان های برنامه نویسی مختلف در سطح چهارم دوره آموزشی JavaRush مقایسه کنید. برای مثال حلقه های for و while. اجازه دهید به طور خلاصه هر یک از انواع ارائه شده را در نظر بگیریم.
حلقه while
این حلقه در جاوا به شکل زیر است:while (expression) {
statement(s)
}
اینجا:
expression
- یک شرط حلقه، عبارتی که بایدboolean
مقداری را برگرداند.statement(s)
- بدنه حلقه (یک یا چند خط کد).
expression
. اگر نتیجه عبارت درست باشد ، بدنه حلقه اجرا می شود statement(s)
. مثال:
public class WhileExample {
public static void main(String[] args) {
int countDown = 10;
while (countDown >= 0) {
System.out.println("До старта: " + countDown);
countDown --;
}
System.out.println("Поехали !");
}
}
نتیجه:
До старта: 10
До старта: 9
До старта: 8
До старта: 7
До старта: 6
До старта: 5
До старта: 4
До старта: 3
До старта: 2
До старта: 1
До старта: 0
Поехали !
با استفاده از while
، می توانید یک حلقه بی نهایت ایجاد کنید:
while (true) {
// тело цикла
}
برای قطع اجرای یک حلقه، از عملگر استفاده می شود break
. مثلا:
public class WhileExample {
public static void main(String[] args) {
int count = 1;
while (true) {
System.out.println("Строка №" + count);
if (count > 3) {
break;
}
count++; // Без наращивания цикл будет выполняться вечно
}
}
}
نتیجه:
Строка №1
Строка №2
Строка №3
Строка №4
شما می توانید نوشتن حلقه های خود را در سطح 4 دوره JavaRush تمرین کنید.
انجام..در حالی که حلقه
ساختارdo.. while
به شکل زیر است:
do {
statement(s)
} while (expression);
اینجا:
expression
- یک شرط حلقه، عبارتی که بایدboolean
مقداری را برگرداند.statement(s)
- بدنه حلقه (یک یا چند خط کد).
while
, مقدار عبارت پس از هر تکرار ارزیابی می شود. اگر نتیجه عبارت درست باشد ، بدنه حلقه دوباره statement(s)
(حداقل یک بار) اجرا می شود. مثال:
public class DoWhileExample {
public static void main(String[] args) {
int count = 1;
do {
System.out.println("count = " + count);
count ++;
} while (count < 11);
}
}
نتیجه:
count = 1
count = 2
count = 3
count = 4
count = 5
count = 6
count = 7
count = 8
count = 9
count = 10
برای حلقه
این حلقه جاوا به شکل زیر است:for (initialization; termination; increment) {
statement(s)
}
اینجا:
initialization
- عبارتی که اجرای حلقه را آغاز می کند. فقط یک بار در ابتدای حلقه اجرا می شود. اغلب، این عبارت شمارنده حلقه را مقداردهی اولیه می کندtermination
-boolean
عبارتی که انتهای حلقه را تنظیم می کند. اگر نتیجه عبارت نادرست باشد ، حلقهfor
شکسته می شود.increment
- عبارتی که پس از هر بار تکرار حلقه اجرا می شود. اغلب، این عبارت شامل افزایش یا کاهش یک متغیر شمارنده است.statement(s)
- بدنه چرخه
initialization
،، اختیاری هستند termination
. increment
اگر هر یک از آنها را حذف کنیم، یک حلقه بی نهایت دریافت می کنیم:
// бесконечный цикл
for ( ; ; ) {
// code тела цикла
}
حلقه مثال for
:
public class ForExample {
public static void main(String[] args) {
for (int i = 1; i < 6; i++) {
System.out.println("Строка №" + i);
}
}
}
نتیجه:
Строка №1
Строка №2
Строка №3
Строка №4
Строка №5
کارگاهی در مورد حلقه for در سطح 4 دوره JavaRush ارائه شده است.
حلقه برای هر کدام
این حلقه جاوا نوعی حلقهfor
برای تکرار مجموعه ها و آرایه ها است. ساختار for each
به شکل زیر است:
for (Type var : vars) {
statement(s)
}
اینجا:
vars
- متغیر، لیست یا آرایه موجودType var
- تعریف یک متغیر جدید از همان نوع (Type
) به عنوان مجموعهvars
.
public class ForExample {
public static void main(String[] args) {
String[] daysOfWeek =
{ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };
for (String dayOfWeek : daysOfWeek) {
System.out.println(dayOfWeek);
}
}
}
حلقه های جاوا در دوره JavaRush در سطح چهارم جستجوی Java Syntax مورد مطالعه قرار می گیرند. سعی کنید مشکلات این موضوع را حل کنید :)
GO TO FULL VERSION