Dövrlər nədir
Java-da yazılmış proqram xüsusi koddan ibarətdir. Adətən ardıcıl olaraq həyata keçirilir: sətir-sətir, yuxarıdan aşağıya. Amma proqramın xətti icrasını dəyişən kod strukturları da var. Onlara nəzarət strukturları deyilir . Onların sayəsində kod seçmə şəkildə icra edilə bilər. Məsələn, digərinin əvəzinə bir kod blokunu işlədin. Döngələr eyni kod parçasının təkrar icrasını təşkil etmək üçün idarəetmə konstruksiyasının bir növüdür. Belə idarəetmə strukturunun daxilindəki kod siklik olaraq icra edilir. Kodun hər bir icrası döngənin iterasiyasıdır . İterasiyaların sayı döngə şərti ilə idarə olunur. Döngə daxilində işləyən kod döngə gövdəsi adlanır . Aşağıdakı dövr növləri məlumdur :-
İlkin şərt döngələri: İcra şərti birinci iterasiyadan əvvəl müəyyən edilir.
-
Postşartlı döngələr: İcra şərti birinci iterasiyadan sonra müəyyən edilir (buna görə də onlar həmişə ən azı bir dəfə yerinə yetirilir). Müəyyən bir şərt həyata keçirilənə qədər müəyyən bir hərəkəti yerinə yetirmək lazım olduqda faydalıdır: məsələn, "dayan" sözünü daxil edənə qədər istifadəçinin daxiletməsini oxumaq.
-
Sayğac Döngələri: İterasiyaların sayı simulyasiya edilmiş sayğac tərəfindən müəyyən edilir. Döngə şərti onun ilkin və son qiymətlərini təyin edir. Hər iterasiya sayğacı artır. İterasiyaların sayını əvvəlcədən müəyyən edə bilərik.
Bu döngələr kolleksiyadakı bütün elementləri təkrarlamaq lazım olduqda faydalıdır. Sayğaclı döngələrə “loops for...” deyilir. "Müəyyən kolleksiyanın hər bir elementi üçün aşağıdakı hərəkətləri yerinə yetirin."
Döngənin icrası onun vəziyyətinə çatmazdan əvvəl dayandırıla bilən hallar var. Məsələn, 100 ədəddən ibarət kolleksiyamız varsa və onun mənfi ədədlər olub olmadığını anlamaq lazımdır. Biz for döngəsindən istifadə edərək bütün nömrələri dövrəyə başlaya bilərik. Amma birinci mənfi ədədi tapdıqda, qalan ədədləri keçmək lazım deyil. Döngənin sonrakı icrasının mənası yoxdursa, onun icrasını dayandıra bilərik. Belə vəziyyətlərə dövriyyənin kəsilməsi deyilir.
-
Qeyri-şərtsiz döngələr sonsuz işləyən döngələrdir. Məsələn: “1=1 olarkən “1=1” çap edin”. Belə bir proqram əl ilə kəsilənə qədər işləyəcək.
Bu döngələr, döngənin içəridən kəsilməsi ilə birlikdə istifadə edildikdə də faydalıdır. Proqramın donmasına səbəb olmamaq üçün onları diqqətlə istifadə edin.
Siz JavaRush kursunun 4-cü səviyyəsində Java proqramlaşdırma dilində döngələr haqqında ətraflı öyrənə bilərsiniz. Xüsusilə while və for loopları ilə.
Java-da döngələr
İndi Java-da döngələrə baxaq. Bu dildə onların bir neçə növü var:while
— ilkin şərtlə döngə;do..while
— son şərti olan dövr;for
— sayğac ilə döngə (loop for);for each..
— “hər biri üçün…” döngəsi — elementlər toplusunu təkrarlamaq üçün for növü.
while
, do.. while
və for
şərtsiz döngələr kimi istifadə edilə bilər. JavaRush kursunda dördüncü təlim səviyyəsində müxtəlif proqramlaşdırma dillərindəki döngələrin sintaksisini müqayisə edə bilərsiniz. Məsələn, for və while döngələri. Təqdim olunan növlərin hər birini qısaca nəzərdən keçirək.
while loop
Java-da bu döngə belə görünür:while (expression) {
statement(s)
}
Burada:
expression
boolean
— döngə şərti, dəyəri qaytarmalı olan ifadə .statement(s)
— döngə gövdəsi (bir və ya bir neçə sətir kod).
expression
. Əgər ifadənin nəticəsi doğrudursa , döngənin gövdəsi yerinə yetirilir statement(s)
. Misal:
public class WhileExample {
public static void main(String[] args) {
int countDown = 10;
while (countDown >= 0) {
System.out.println("До старта: " + countDown);
countDown --;
}
System.out.println("Поехали !");
}
}
Nəticə:
До старта: 10
До старта: 9
До старта: 8
До старта: 7
До старта: 6
До старта: 5
До старта: 4
До старта: 3
До старта: 2
До старта: 1
До старта: 0
Поехали !
istifadə edərək while
, sonsuz bir döngə yarada bilərsiniz:
while (true) {
// тело цикла
}
Döngənin icrasını dayandırmaq üçün operatordan istifadə olunur break
. Misal üçün:
public class WhileExample {
public static void main(String[] args) {
int count = 1;
while (true) {
System.out.println("Строка №" + count);
if (count > 3) {
break;
}
count++; // Без наращивания цикл будет выполняться вечно
}
}
}
Nəticə:
Строка №1
Строка №2
Строка №3
Строка №4
Siz JavaRush kursunun 4-cü səviyyəsində öz döngələrinizi yazmağı məşq edə bilərsiniz.
do..while loop
Strukturdo.. while
belə görünür:
do {
statement(s)
} while (expression);
Burada:
expression
boolean
— döngə şərti, dəyəri qaytarmalı olan ifadə .statement(s)
— döngə gövdəsi (bir və ya bir neçə sətir kod).
while
ifadənin dəyəri hər iterasiyadan sonra qiymətləndiriləcək. Əgər ifadənin nəticəsi true olarsa , döngənin gövdəsi yenidən statement(s)
(ən azı bir dəfə) yerinə yetiriləcək. Misal:
public class DoWhileExample {
public static void main(String[] args) {
int count = 1;
do {
System.out.println("count = " + count);
count ++;
} while (count < 11);
}
}
Nəticə:
count = 1
count = 2
count = 3
count = 4
count = 5
count = 6
count = 7
count = 8
count = 9
count = 10
döngə üçün
Bu Java döngəsi belə görünür:for (initialization; termination; increment) {
statement(s)
}
Burada:
initialization
— döngənin icrasını başlatan ifadə. Döngənin əvvəlində yalnız bir dəfə yerinə yetirilir. Çox vaxt bu ifadə dövrə sayğacını işə salırtermination
—boolean
döngənin sonunu tənzimləyən ifadə. Əgər ifadənin nəticəsi false olarsa , döngəfor
pozulacaq.increment
— döngənin hər iterasiyasından sonra yerinə yetirilən ifadə. Çox vaxt bu ifadə sayğac dəyişəninin artırılmasını və ya azaldılmasını nəzərdə tutur.statement(s)
- dövrün bədəni.
initialization
, termination
, ifadələri increment
isteğe bağlıdır. Onların hər birini buraxsaq, sonsuz bir döngə alırıq:
// бесконечный цикл
for ( ; ; ) {
// code тела цикла
}
Döngə nümunəsi for
:
public class ForExample {
public static void main(String[] args) {
for (int i = 1; i < 6; i++) {
System.out.println("Строка №" + i);
}
}
}
Nəticə:
Строка №1
Строка №2
Строка №3
Строка №4
Строка №5
For loop üzrə seminar JavaRush kursunun 4-cü səviyyəsində təqdim olunur.
Hər biri üçün döngə
for
Bu Java döngəsi kolleksiyaları və massivləri təkrarlamaq üçün bir növ dövrədir . Struktur for each
belə görünür:
for (Type var : vars) {
statement(s)
}
Burada:
vars
- dəyişən, mövcud siyahı və ya massivType var
Type
— kolleksiya ilə eyni tipli ( ) yeni dəyişənin müəyyən edilməsivars
.
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);
}
}
}
Java döngələri JavaRush kursunda Java Sintaksis axtarışının dördüncü səviyyəsində öyrənilir. Bu mövzuda problemləri həll etmək üçün əlinizi sınayın :)
GO TO FULL VERSION