CodeGym /Kurslar /C# SELF /for dövrü: tanışlıq və işləmə nüansları

for dövrü: tanışlıq və işləmə nüansları

C# SELF
Səviyyə , Dərs
Mövcuddur

1. Giriş

Təsəvvür elə ki, sənə tapşırıq verilib: ekrana on dəfə «Salam!» çıxartmaq. Əlbəttə, on sətr Console.WriteLine("Salam!"); yaza bilərsən — amma sən artıq while dövrünü bilirsən, ona görə bu iş asan olacaq.

Amma başqa bir dövr də var — for, hansı ki, lazım olan əməliyyatı istədiyin qədər təkrarlayır. Həm də özü sayır!

Tipik bir nümunə belədir:

for (int i = 0; i < 10; i++)
{
    Console.WriteLine("Salam!");
}
Klassik for dövrü — 10 dəfə "Salam!" çıxarır

Bu kod nə edir? O, ekrana «Salam!» sözünü dəqiq 10 dəfə çıxarır. Nə copy-paste, nə də bilək ağrısı.

2. for dövrünün sintaksisi

for dövrü əsasən üç hissədən ibarətdir, hansılar ki, for açar sözündən sonra dəyirmi mötərizədə yazılır:

for (init; şərt; dəyişmə)
{
    // Dövrün gövdəsi
}
for dövrünün ümumi sintaksisi

Gəlin hər elementi bir-bir baxaq:

  • Init — adətən sayğac dəyişəni yaradılır, hansı ki, təkrarlamanın başlanğıc nöqtəsidir (int i = 0).
  • Şərt — hər iterasiyadan əvvəl yoxlanılır. Əgər doğru olsa — dövrün gövdəsi işləyir. Yalan olsa — dövr bitir. Məsələn, i < 10.
  • Dəyişmə — hər iterasiyadan sonra işləyən operator. Adətən sayğacı artırır və ya azaldır (i++).

Bir sxem də çəkə bilərik:

3. forwhile müqayisəsi

Bəlkə sənə daha aydın olar ki, for — sadəcə while dövrünün başqa yazılışıdır.

Bizdə belə bir while dövrü var idi:

int i = 0;					// Dövr üçün dəyişənin init-i
while(i < 10)				// Dövrün davam şərtinin yoxlanması
{
    Console.WriteLine(i); 	// Faydalı əməl (dövrün gövdəsi)
    i++;					// Sayğacın artırılması
}

Bunu for dövrü kimi də yaza bilərik, sadəcə dövrün idarəedici hissələrini bir yerə yığırıq:

for (int i = 0; i < 10; i++)  // Init; Şərt yoxlanışı; Sayğacın artırılması
{
    Console.WriteLine(i);		// Faydalı əməl (dövrün gövdəsi)
}

Hər iki dövrün işləmə addımları:

  1. Init int i = 0; dövr başlamazdan əvvəl 1 dəfə işləyir.
  2. Sonra şərt yoxlanılır i <= 10
  3. Sonra dövrün faydalı əməli Console.WriteLine(i);
  4. Sonra sayğac artırılır i++
  5. Sonra 2-ci addıma qayıdır.

4. for dövrünün istifadə nümunələri

Ən sadə nümunə

Gəlin 1-dən 5-ə qədər ədədləri çıxaraq:

for (int i = 1; i <= 5; i++)
{
    Console.WriteLine(i);
}

Çıxış:

1
2
3
4
5

Qeyd: əgər i < 5 yazsaydın, sonuncu çıxış 4 olardı.

Əks sayım

Kosmonavt kimi hiss etmək istəyirsən? Gəlin əks sayım edək!

for (int i = 5; i > 0; i--)
{
    Console.WriteLine(i);
}
Console.WriteLine("Getdik!");

Çıxış:

5
4
3
2
1
Getdik!

Dövr addımı 1-dən fərqlidir

Sayğacı təkcə 1-ə yox, istənilən başqa ədədə də dəyişmək olar:

for (int i = 0; i <= 10; i += 2)
{
    Console.WriteLine(i);
}
// Çıxacaq: 0 2 4 6 8 10

5. for dövrünün variasiyaları

Dövr daxilində bir neçə dəyişən

Bəzən iki dəyişəni eyni anda izləmək rahat olur. Məsələn, ədədləri sağdan sola və soldan sağa çıxaraq:

for (int sol = 1, sağ = 10; sol <= 10; sol++, sağ--)
{
    Console.WriteLine($"{sol}  {sağ}");
}

Çıxış:

1  10
2  9
3  8
...
10  1

Sonsuz for dövrü

Əgər vəziyyət lap ağırdırsa (məsələn, layihən — IT-də əbədi mühərrikdir), "sonsuz" for dövrü yaza bilərsən:

for (;;) // nə init, nə şərt, nə dəyişmə
{
    Console.WriteLine("İşlə, işlə və bir də işlə!");
}
Sonsuz for dövrü

Diqqət: belə dövr yalnız gövdədə break, return və ya throw varsa bitəcək. Səbəbsiz istifadə etmə, yoxsa qədim demon oyanar — "Proses cavab vermir".

2
Tapşırıq
C# SELF, səviyyə, dərs
Bağlanıb
2-dən 20-yə qədər cüt ədədlər
2-dən 20-yə qədər cüt ədədlər
2
Tapşırıq
C# SELF, səviyyə, dərs
Bağlanıb
Geri sayım və mesaj
Geri sayım və mesaj
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION